1
我試圖設置一個QComboBox
以擴大高度,但調整爲內容長度。QComboBox AdjustToContents改變高度
該組合創建這樣的:
self.dataentrycombo = QComboBox()
self.dataentrycombo.setIconSize(QSize(48,48))
self.dataentrycombo.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
self.dataentrycombo.setSizeAdjustPolicy(QComboBox.AdjustToContents)
self.dataentrycombo.setModel(self.dataentrymodel)
後,我填充我的模型,尺寸調整,但高度比組合框住在工具欄小:
如果我改變我的主窗口大小,那麼它會完全擴展:
我一直在使用QComboBox.AdjustToMinimumContentsLengthWithIcon
嘗試過,但後來它只是看起來像這樣:
我的模型項目創建這樣的:
item = QStandardItem(QIcon(form.icon), form.icontext)
item.setData(form, Qt.UserRole + 1)
self.dataentrymodel.appendRow(item)
額外的信息:
- Qt:4.7
- 窗口第7和第8
我儘可能複製了您的示例,但我無法重現此行爲。對我而言,設置尺寸策略足以擴展高度(否則,組合將在工具欄中垂直居中)。所以我認爲需要一個更完整的例子(除非涉及某個版本或平臺特定的問題)。 – ekhumoro
@Nathan W,幾個月前我遇到了同樣的問題,在努力解決它之後,我終於找到了解決問題的解決方案。我只是在未擴展的小部件上調用'adjustSize()'。在QComboBox對象上設置* model *調用'adjustSize()'後。我認爲這應該可以解決你的問題。如果它不適用於您,請嘗試調用窗口小部件上的相同方法,然後包含'combobox' – qurban
,如果stil不起作用,請將窗口調整爲當前大小。 'self.resize(self.size())'(這是一個調整窗口的孩子的破解) – qurban