我正在使用一个包含内置很多项目的组合框的软件,问题是当我点击它时列表太大而我无法通过滚动查看所有项目它
使用样式清洁(这就是为什么组合框的尺寸太大)但我无法改变它,所以我正在寻找一个解决方案来设置最大尺寸。
我在网上找不到任何相关内容,也没有在文档中找到。
我尝试使用尺寸政策但不起作用。我还试图获得组合框使用的QLineEdit并在其上设置QSize,最后通过在组合框和QLineEdit上设置样式表但没有任何工作正常。
我尝试使用QSize和样式表:
sz = QSize(20, 20)
combo.view().setGridSize(sz)
combo.view().setStyleSheet("""QListView { max-height: 50px; background-color: yellow; } """)
combo.setStyleSheet("""QComboBox { max-height: 30px; background-color: pink; } """)
编辑:在@Vladimir Bershov的评论之后我尝试使用以下方法正确设置大小:setMaxVisibleItems()但是如文档中所述("注意:对于返回的样式中的不可编辑组合框,此属性将被忽略对于QStyle :: SH_ComboBox_Popup"),该属性将被忽略。
所以我寻找修改QStyle Hint来取消设置SH_ComboBox_Popup,但正如post所解释的那样,这是不可能的。
如果您有任何建议,我会倾听。
感谢。
答案 0 :(得分:1)
如评论中所解释的那样,PyQt4中没有可用的解决方案
答案 1 :(得分:0)
当我试图最小化Qt / C ++中QComboBox下拉菜单的高度时,此行对我有用。
ComboBox->setStyleSheet("combobox-popup: 0;");