首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >表中的PySide / PyQt QStyledItemDelegate列表

表中的PySide / PyQt QStyledItemDelegate列表
EN

Stack Overflow用户
提问于 2011-02-01 07:23:21
回答 1查看 2.6K关注 0票数 2

我尝试用Qt (PySide/PyQt - not)在Python中创建一个列表表格,我的列表被压缩到表格单元格中。

有没有办法让列表代表“弹出”他们的单元格?我附上了一个简单的代码片段-根据您的喜好用PyQt4替换PySide

代码语言:javascript
运行
复制
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_())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-01 09:19:00

所以答案是使用

代码语言:javascript
运行
复制
QComboBox

而不是

代码语言:javascript
运行
复制
QListWidget

所以第6行变成了

代码语言:javascript
运行
复制
editor = QtGui.QComboBox(parent)

这个世界一切都是对的。希望这对某些人有帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4857274

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档