【发布时间】:2019-06-07 11:24:38
【问题描述】:
例如,this page 声称最新版本的 PyQt5 应该为我提供 macOS Mojave 的自动暗模式,而无需更改任何内容...除了它没有。
考虑这个简单的例子(可以复制粘贴到终端):
exec("""\nfrom PyQt5 import QtCore, QtWidgets\n\nclass Ui_MainWindow(object):\n def setupUi(self, MainWindow):\n MainWindow.setObjectName("MainWindow")\n MainWindow.resize(674, 371)\n self.centralwidget = QtWidgets.QWidget(MainWindow)\n self.centralwidget.setObjectName("centralwidget")\n self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)\n self.gridLayoutWidget.setGeometry(QtCore.QRect(50, 10, 601, 281))\n self.gridLayoutWidget.setObjectName("gridLayoutWidget")\n self.mpl_layoutBox = QtWidgets.QGridLayout(self.gridLayoutWidget)\n self.mpl_layoutBox.setContentsMargins(0, 0, 0, 0)\n self.mpl_layoutBox.setObjectName("mpl_layoutBox")\n self.pushButton = QtWidgets.QPushButton(self.centralwidget)\n self.pushButton.setGeometry(QtCore.QRect(280, 300, 113, 32))\n self.pushButton.setObjectName("pushButton")\n MainWindow.setCentralWidget(self.centralwidget)\n\n self.retranslateUi(MainWindow)\n QtCore.QMetaObject.connectSlotsByName(MainWindow)\n\n def retranslateUi(self, MainWindow):\n _translate = QtCore.QCoreApplication.translate\n MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))\n self.pushButton.setText(_translate("MainWindow", "PushButton"))\n\nif __name__ == "__main__":\n import sys\n\n app = QtWidgets.QApplication(sys.argv)\n MainWindow = QtWidgets.QMainWindow()\n ui = Ui_MainWindow()\n ui.setupUi(MainWindow)\n MainWindow.show()\n sys.exit(app.exec_())\n""")
我必须做什么才能启用暗模式?
【问题讨论】:
-
只需在具有
pip install pyqt==5.12.2的系统上运行此脚本即可在明暗模式下工作,即使在系统首选项级别切换它,也无需将其编译为 .app。 -
奇怪。不适合我!将它放在 venv 中会有所不同吗?编辑:不。
-
无法在 virtualenv 中工作。这似乎是这里的区别。
-
不适用于我的系统范围的解释器。添加了单行来测试它。
-
哪个系统范围的解释器?您是否验证了系统范围的解释器具有相同版本的 pyqt5?