
我是 pyqt4 的新手,经过多次搜索后,我没有找到有关我在 gui 中看到的问题的信息。
问题是,当用户单击 getsingleitems 按钮时,该函数运行的次数与用户单击 getallitems 的次数相同。一个示例是,如果用户单击 getallitems 来填充 items 字段,然后单击 getsingleitem,则 getitems 运行一次,并且根据期望打印一次结果。但是,如果用户从列表中选择另一个项目并再次单击 getallitems,然后单击 getsingleitem,结果是 getitem 运行 2x,因此打印 2x。每次运行都会增加,因此即使不更改选择,单击 getallitems 4x,然后单击 getitem 将通过单击 getsingleitem 来运行 4x。刷新它的唯一方法是关闭 gui 并重新打开。如有任何帮助,我们将不胜感激。
class UpdateItem(QDialog, updateitem_ui.Ui_updateitem):
def __init__(self):
QDialog.__init__(self)
self.setupUi(self)
tests = ['Test1', 'Test2', 'Test3']
self.list.addItems(tests)
self.exit.clicked.connect(self.close)
self.setFocus()
self.getAllItems.clicked.connect(self.getitems)
def getitems(self):
self.items.clear()
self.items.addItems(self.list.currentText())
self.getSingleItem.clicked.connect(self.getitem)
def getitem(self):
self.item_id = self.items.currentText()
print(self.item_id)
app = QApplication(sys.argv)
gui = UpdateItem()
gui.show()
app.exec_()显然,您正在每次运行 getitems 时添加到 getsingleitem.clicked 的新连接,
因此 clicked 信号多次连接到同一个插槽,
这会导致您观察到的行为。
移动线路
1、二手货品在线注册, 在线生效; 2、二手货品登陆后自动EMAIL回复功能; 3、登记货品用户修改时忘记密码,自动回复到登陆者信箱; 4、支持版主修改删除货品; 5、支持版主设置货品点击次数, 以提高排行榜名次; 6、使用JAVA SCRPIT 支持自动分页,不会因分页过多而导致显示混乱; 7、提供点击计数功能, 同一IP点击多次无效; 8、提供广告管理程序,程序可以循环放映广告,可设置添加删除
0
self.getSingleItem.clicked.connect(self.getitem)
从 getitems 到 __init__ 应该可以解决这个问题,我猜。
以上就是PyQt4按钮点击时点击注册多次的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号