我设置了一个 PyQt GUI,其中包含 QPushButton 的选择和 QLineEdit 文本框(除其他外)。文本框被设置为在 returnPressed() 时调用函数。我的问题是,当我单击文本框并输入文本时,其中一个按钮被选中,这意味着当我在文本框中按 Enter 时,它会同时激活按钮和文本框功能。
有办法解决这个问题吗?有什么方法可以在编辑文本框时阻止选择任何按钮吗?
代码相当长,因此我无法在此处添加它,但如果对布局或任何相关内容有任何疑问,请询问。
感谢您提供的任何帮助
最佳答案
根据您的问题和评论,我猜测按钮和行编辑位于 QDialog 中,并且选择/突出显示是由于 default 发生的。/autoDefault按钮的属性。
通常,这些属性将设置为 False,但在 QDialog 中它们会自动设置为 True。当前默认按钮会在其周围绘制一个附加框架(即使它没有键盘焦点),并且每当按下返回键时就会激活该框架。
您当然可以通过简单地执行以下操作来防止这种行为:
button.setDefault(False)
button.setAutoDefault(False)
对于对话框中的每个按钮。
关于python - PyQt 按钮选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20085130/