【发布时间】:2013-11-15 12:15:43
【问题描述】:
我将 QListWidget 内的小部件设置为我自己的 ProductItemWidget 类,以便能够对列表中的项目进行更多自定义。这工作正常,但我无法让列表自动排序。我打电话给
my_list.setSortingEnabled(True)
然后我尝试覆盖 ProductListItem 的“
class ProductListItem(QListWidgetItem):
def __init__(self, parent=None):
super(ProductListItem, self).__init__(parent)
def __lt__(self, otherItem):
this_item_widget = self.listWidget().itemWidget(self)
other_item_widget = otherItem.listWidget().itemWidget(otherItem)
return this_item_widget.getText() < other_item_widget.getText()
class ProductItemWidget(QWidget):
def __init__(self, product_name, parent=None):
super(ProductItemWidget, self).__init__(parent)
self.label = QLabel(product_name)
... setup code ...
def getText(self):
return self.label.text()
有什么方法可以阻止对 __ lt __ 的调用将 otherItem 转换为 QListWidgetItem?
我已经被这个问题困扰了一段时间,因此感谢任何提示。我愿意改变我的整个方法。
【问题讨论】:
标签: python qt pyqt qlistwidget