PyQt在QTableWidget中使用QLineEdit作为cellWidget

时间:2012-06-15 18:26:52

标签: python pyqt4

所以我创建了一个QTableWidget,里面装满了QComboBoxes和QLineEdits。我的QComboBox工作得非常好,但无论出于何种原因,我的QLineEdits都没有正确显示文本。

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

现在我尝试测试它以查看值是否存在于表中...并且确定如果我使用tableItem.text()我得到“测试”回来。我只是不确定为什么在运行UI时lineEdit没有显示任何内容。

谢谢!

1 个答案:

答案 0 :(得分:1)

这是一个简单的例子,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。