Skip to content

Instantly share code, notes, and snippets.

@leixingyu
Created December 5, 2021 23:31
Show Gist options
  • Save leixingyu/0eea1cb8e325a8d52cc3a64953faf467 to your computer and use it in GitHub Desktop.
Save leixingyu/0eea1cb8e325a8d52cc3a64953faf467 to your computer and use it in GitHub Desktop.
class MyTableWidgetItem(QtWidgets.QTableWidgetItem):
def __init__(self, parent=None):
QtWidgets.QTableWidgetItem.__init__(self, parent)
def __lt__(self, otherItem):
try:
return int(self.text().split('-')[0]) < int(otherItem.text().split('-')[0])
except ValueError:
return self.text() < otherItem.text()
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mywidget = QtWidgets.QTableWidget()
mywidget.insertColumn(0)
list = ["1", "2", "10", "11", "14-15", "120", "100-115", "59-62"]
for index in range(len(list)):
mywidget.insertRow(index)
value = list[index]
item = MyTableWidgetItem(value)
mywidget.setItem(index, 0, item)
mywidget.sortItems(0, QtCore.Qt.AscendingOrder)
mywidget.show()
sys.exit(app.exec_())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment