pyside2 - pyside vs pyqt
Agregue QWidget a QListWidget (1)
Prueba esto:
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()
widgetLayout.setSizeConstraint(QtGui.QLayout.SetFixedSize)
widget.setLayout(widgetLayout)
itemN.setSizeHint(widget.sizeHint())
#Add widget to QListWidget funList
funList.addItem(itemN)
funList.setItemWidget(itemN, widget)
Como puede ver, necesita setSizeConstraint
para el diseño y setSizeHint
para el elemento.
Estoy tratando de hacer un QListWidget en el que cada elemento es un widget simple que contiene texto y un botón. Yo uso lo siguiente:
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)
El problema es que no aparece nada. Obtengo una línea en blanco que puedo navegar usando mi teclado, pero está en blanco. Cuando el widget contiene solo un botón, funciona, por lo que no es como si el botón solo estuviera estropeando las cosas. ¿Hay límites en la complejidad de los widgets que setItemWidget
puede manejar? Tal vez deba ir más allá de las clases de conveniencia, como se sugiere en algunos de los mensajes relacionados a continuación?
Artículos Relacionados
pyqt agregando un widget a un QListWidget
Tenga en cuenta que la publicación anterior tiene un título similar al mío, pero parece ser una pregunta relativamente mal expresada sobre un complejo pastiche de código de QtDesigner (mezclado con algunas cosas personalizadas). No está claro en absoluto que esta es realmente la pregunta que la persona debería haber estado haciendo. Mientras que el título lo hace parecer un duplicado, la pregunta (rezo) no es.
Diría algo similar sobre esta publicación.
QListWidgetItem con botón de radio
QListView / QListWidget con elementos personalizados y widgets de elementos personalizados
¿Agregar Widget personalizado a QListWidget en cuestión de clic de QT en QT?
pyqt agregando un widget a un QListWidget
http://www.qtcentre.org/threads/8660-Drawing-a-widget-in-QItemDelegate-s-paint-method