我尝试用Qt (PySide/PyQt - not)在Python中创建一个列表表格,我的列表被压缩到表格单元格中。
有没有办法让列表代表“弹出”他们的单元格?我附上了一个简单的代码片段-根据您的喜好用PyQt4替换PySide
from PySide import QtCore, QtGui
class ListDelegate(QtGui.QStyledItemDelegate):
def createEditor(self, parent, option, index):
editor = QtGui.QListWidget(parent)
for i in range(12):
editor.addItem('list item %d' % i)
return editor
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
model = QtGui.QStandardItemModel(2, 2)
tableView = QtGui.QTableView()
delegate = ListDelegate()
tableView.setItemDelegate(delegate)
tableView.setModel(model)
for row in range(2):
for column in range(2):
item = QtGui.QStandardItem( 'None' )
model.setItem(row, column, item)
tableView.setWindowTitle('example')
tableView.show()
sys.exit(app.exec_())发布于 2011-02-01 09:19:00
所以答案是使用
QComboBox而不是
QListWidget所以第6行变成了
editor = QtGui.QComboBox(parent)这个世界一切都是对的。希望这对某些人有帮助。
https://stackoverflow.com/questions/4857274
复制相似问题