我正在使用PyQt5,我试图通过按一个按钮来改变活动单元格。所以我有一个QLineEdit,人们可以输入一个项目,此时按钮接受这个值,并将它放在0,0的位置,就像它应该的那样。我试图让clicked.connect也更改保存行号的变量,但它似乎不起作用。下面是我的btn_clk代码:
def btn_clk(self):
row = 0
col = 0
entry = QTableWidgetItem(self.mod_num.text())
self.form_widget.setCurrentCell(row, col)
self.form_widget.setItem(row, col, entry)
row += 1
self.mod_num.clear()当然,对于第一项,我有0,0coord,我得到了QLineEdit框中的值,设置了当前单元格,然后设置了项。这就是我不知道出什么问题的地方。我有行变量+= 1将其移动到我设置为34行的QTableWidget中的一行。
我知道我目前没有办法阻止它,但我更担心的是,它不会改变我的手机位置。任何帮助都将不胜感激。
更新:
来阐述我想要的:
示例

通过提供的示例图片,当有人在QLineEdit框中输入某些内容并按Submit按钮时,def btn_clk将文本从QLineEdit放到单元格0,0中。然后,当用户在QLineEdit中输入一个新项并再次按Submit按钮时,它会将来自QLineEdit的文本放在单元格1,0的下一行中。
我希望这能更好地解释我想要实现的目标。
发布于 2017-02-24 15:28:58
每次调用btn_clk函数时,都会将值重置为row = 0,col = 0。
您应该做的是在__init__中初始化变量
def __init__(self, other parameters):
# some code
self.row = 0
self.col = 0然后在插槽里:
def btn_clk(self):
entry = QTableWidgetItem({your text})
self.form_widget.setItem(self.row, self.col, entry)
self.row += 1
# another some codehttps://stackoverflow.com/questions/42431416
复制相似问题