【发布时间】:2019-07-12 02:02:49
【问题描述】:
我有一个使用 qdarkstyle theme 的 Pyside2 应用程序。我正在尝试使用 QComboBox 小部件,但所选项目被炸得很大,导致小部件无法使用。
我用来添加组合框(由 pyuic5 生成)和 MainWindow 创建的相关 UI 设置代码,以提供可重现的示例:
注意:要运行此代码,您需要 qdarkstyle 主题以及 PySide2,可以通过以下方式安装: pip install qdarkstyle
from PySide2 import QtCore, QtGui, QtWidgets
import qdarkstyle
import sys
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(875, 527)
self.comboBox = QtWidgets.QComboBox(Dialog)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.comboBox.addItem("")
self.retranslateUi(Dialog)
self.comboBox.setCurrentIndex(4)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
self.comboBox.setItemText(0, _translate("Dialog", "1 day"))
self.comboBox.setItemText(1, _translate("Dialog", "1 week"))
self.comboBox.setItemText(2, _translate("Dialog", "3 months"))
self.comboBox.setItemText(3, _translate("Dialog", "6 months"))
self.comboBox.setItemText(4, _translate("Dialog", "1 year"))
self.comboBox.setItemText(5, _translate("Dialog", "3 years"))
self.comboBox.setItemText(6, _translate("Dialog", "5 years"))
self.comboBox.setItemText(7, _translate("Dialog", "max"))
class Dialog(QtWidgets.QDialog):
def __init__(self):
super(Dialog, self).__init__()
self.ui = Ui_Dialog()
self.ui.setupUi(self)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = Dialog()
window.show()
app.setStyleSheet(qdarkstyle.load_stylesheet_pyside2())
sys.exit(app.exec_())
当我打开组合框时,最后选择的项目将增大,如下图所示:
我尝试恢复到默认的 qt 主题,一切正常,所以我怀疑这与我正在使用的 qdarkstyle 主题有关。非常感谢任何帮助或提示!
【问题讨论】:
-
好的,我添加了用于使用组合框生成 UI 的代码
-
我在 Arch Linux 中使用 PySide2 5.13.0 和 qdarkstyle 2.7 没有这个问题:i.imgur.com/RjJwDyR.png,我认为你有一个错误,所以建议你向 qdarkstyle 报告。跨度>
-
好的,感谢您为我试用。我正在运行 Mint,所以这可能是问题所在。额外编辑:我刚刚检查过,我也有 PySide2 5.13.0 和 qdarkstyle 2.7
标签: python qcombobox qtstylesheets pyside2