我试图创建一个按钮,将一行添加到一个表中(QtTableWidget),并使用一个对话框来请求名称,我遇到了一个大问题(似乎是PyQt中的一个缺陷)。你知道吗
通过使用insertRow()函数添加行,行标题的值自动为none,这意味着您不能在行标题上使用verticalHeaderItem(rowPosition).setText(…),因为它不能设置值为none的项的文本。你知道吗
相关代码如下:
def RenameRow(self, i, name):
self.tab1table.verticalHeaderItem(i).setText(name)
def DatabaseAddRow(self):
text, ok = QInputDialog.getText(self, "Row Entry", 'Please Enter A Row Name:', QLineEdit.Normal, 'e.g. ECN 776')
if ok and text != '':
rowPosition = self.tab1table.rowCount()
self.tab1table.insertRow(rowPosition)
self.RenameRow(rowPosition, text)
有什么办法可以绕过这个问题或者我不知道的方法吗?你知道吗
所以我在这个问题上浪费了半天的时间,问了这个问题之后,我自己解决了这个问题,这就是生活。该问题的解决方案是将一个空项分配给标题,然后将其重命名,具体实现如下:
相关问题 更多 >
编程相关推荐