Я пытаюсь сделать 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 добавление виджета в QListWidget
Обратите внимание, что предыдущий пост имеет похожий заголовок на мой, но, похоже, это относительно слабо выраженный вопрос о сложном коде кода из QtDesigner (смешанного с некоторыми пользовательскими вещами). Совершенно не ясно, что на самом деле это вопрос, который должен был задать человек. Хотя название делает его дубликатом, вопрос (я молюсь) - нет.
Я бы сказал что-то похожее об этом посте.
QListWidgetItem с переключателем
QListView/QListWidget с пользовательскими элементами и виджетами пользовательских элементов
Добавление пользовательского виджета в QListWidget в вопросе щелчка QT в QT?
pyqt добавление виджета в QListWidget
http://www.qtcentre.org/threads/8660-Drawing-a-widget-in-QItemDelegate-s-paint-method