我想要製作一個QListWidget,其中每個項目都是一個包含文本和按鈕的簡單小部件。我使用以下內容:將QWidget添加到QListWidget
itemN = QtGui.QListWidgetItem()
#Create widget
widget = QtGui.QWidget()
widgetText = QtGui.QLabel("I love PyQt!")
widgetButton = QtGui.QPushButton("Push Me")
widgetLayout = QtGui.QHBoxLayout()
widgetLayout.addWidget(widgetText)
widgetLayout.addWidget(widgetButton)
widgetLayout.addStretch()
widget.setLayout(widgetLayout)
#Add widget to QListWidget funList
funList.addItem(itemN)
funList.setItemWidget(itemN, widget)
問題是,什麼也沒有顯示出來。我得到一個空白的行,我可以用我的鍵盤導航,但它是空白的。當小工具包含只是一個按鈕,它的工作原理,所以它不像只有按鈕搞亂了事情。 setItemWidget
可以處理的小工具的複雜性是否有限制?也許我需要超越便利課程,正如下面的一些相關帖子中所建議的那樣?
相關文章
pyqt adding a widget to a QListWidget
註上一篇文章中也有類似的標題礦,但似乎是來自QtDesigner的代碼複雜的仿作(與一些定製的東西混合)相對錶現較差的問題。根本不清楚這實際上是這個人應該提出的問題。雖然標題看起來像重複,但問題(我祈禱)不是。
我會說一些類似於this的帖子。
QListWidgetItem with Radio Button
QListView/QListWidget with custom items and custom item widgets
Adding Custom Widget to QListWidget in QT click issue in QT?
pyqt adding a widget to a QListWidget
http://www.qtcentre.org/threads/8660-Drawing-a-widget-in-QItemDelegate-s-paint-method
工作!我不清楚發生了什麼事。 1)一旦設置了大小約束,我是否真的需要''setSizeHint'這個項目呢?它_seems_遺漏'setSizeHint'不會改變我的GUI的外觀。 2)爲什麼我的大小默認首先默認爲-1,-1,以及如何使用「SetFixedSize」修復此問題?爲什麼不把它修正爲錯誤的值(-1,-1)。任何優秀的文檔都會涉及這些問題的解決方案? (文檔包括:http://qt-project.org/doc/qt-4.8/qt.html#SizeHint-enum和http://qt-project.org/doc/qt-4.8/qlayout.html#SizeConstraint-枚舉) – neuronet 2014-10-05 14:35:08
@neuronet'QLayout :: SetFixedSize'主窗口部件的大小被設置爲'sizeHint();'它根本無法調整大小。如果你不設置大小提示,那麼你的帶有標籤和按鈕的小部件會比物品大,所以它會非常難看,不正確。 – Chernobyl 2014-10-05 14:43:22
接受答案,因爲它解決了問題,但肯定會讓任何解釋這件事的人都滿意,讓下一個人超越貨物崇拜編程:) – neuronet 2014-10-05 17:28:06