我是python和PyQT的新手,我正在尝试开发一个简单的UI。 该用户界面由一个QTableWidget组成,当用户单击一个按钮时,它会动态填充。
此表具有以下格式:
-------- -------- ----------
| File |filePath| Button |
-------- -------- ----------
| file1 |C:/... | btnRemove|
--------- -------- -----------
| file2 | C:/... | btnRemove|
--------- -------- -----------
| file3 | C:/... | btnRemove|
--------- -------- -----------
我要删除的行是单击要删除的行中的删除按钮。
为此,每次用户添加一行时,都会将新创建的按钮添加到按钮列表中,并链接到特定事件“ click_remove”。
在C#中,我已经创建了可以做到这一点的代码:
for (int i = 0; i < buttonList.Count; i++)
{
if (buttonList[i].IsFocused == true)
{
//Remove line [i]
}
}
但是我找不到任何QPushButton属性,例如C#的“ IsFocused”。
作为一个例子,这是我在python上尝试的最后一件事:
def click_remove(self):
for i in range (0, len(self.btnList)):
if bool(self.btnList[i].hasFocus) == True:
print("I'm removing stuff !!!")
self.tableWidget1.removeRow(i)
这似乎删除了QTableWidget的第一行和最后一行,我不明白为什么。
你们知道这样做的方法吗?
注意:我正在使用PyQt5和Python3
谢谢