【问题标题】:pyqt4: Making Qtableview reflect the changes after calling QStandardItem.setDatapyqt4:使 Qtableview 反映调用 QStandardItem.setData 后的更改
【发布时间】:2013-11-04 10:35:31
【问题描述】:

我正在尝试使用 pyqt4 构建一个 gui,但在更新 Qtableview 上的字段时遇到问题 这是我的代码:

table=QTableView(myqMainWindow)
model=QStandardItemModel(0,1,table)
item1= QStandardItem("123")
model.setItem(0,0,item1)
table.setModel(model) 
item1.setData("321")

现在我面临的问题是表格的第一列仍然显示“123”。为了让表格反映变化,我缺少什么?

【问题讨论】:

    标签: python pyqt qtableview qstandarditemmodel


    【解决方案1】:

    仔细查看setDatadocumentation

    setData 接受两个参数:datarole。除非您想定义一个自定义角色,否则您必须指定一个。在你的情况下,你应该使用DisplayRole

    item1.setData("321", QtCore.Qt.DisplayRole)
    

    或者,您可以使用setText

    item1.setText("321")
    

    【讨论】:

      猜你喜欢
      • 2019-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-20
      • 2017-05-08
      • 2011-01-24
      • 1970-01-01
      相关资源
      最近更新 更多