0

所以我创建了一个 QTableWidget,里面装满了 QComboBoxes 和 QLineEdits。我的 QComboBoxes 工作得很好,但我的 QLineEdits 出于某种原因不能正确显示文本。

self.table = QtGui.QTableWidget()  
tableItem = QtGui.QLineEdit(  )
tableItem.setText( "Testing" )
self.table.setCellWidget(row, 1, tableItem )

现在我尝试测试它以查看该值是否存在于表中......并且如果我使用 tableItem.text() 肯定会得到“测试”。我只是不确定为什么我运行 UI 时 lineEdit 什么都不显示。

谢谢!

4

1 回答 1

3

这是一个简单的例子,QLineEdit 工作得很好。

from PyQt4 import QtCore, QtGui
import sys

app = QtGui.QApplication([])
table = QtGui.QTableWidget(2,2)

tableItem = QtGui.QLineEdit()
tableItem.setText( "Testing" )
table.setCellWidget(0, 0, tableItem )

comboBox = QtGui.QComboBox()
table.setCellWidget(1,1, comboBox)

table.show()
sys.exit(app.exec_())

基本上,我所做的只是给桌子一个尺寸。您可以像我一样在创建时执行此操作,也可以使用table.setRowCount().

当然,对于有 r 行的表,请确保不要第 r 行插入任何内容。它从 0 到 r-1。

于 2012-06-15T21:27:57.520 回答