2

我有一个 PyQt GUI 设置,其中有一个 QPushButtons 选择和一个 QLineEdit 文本框(除其他外)。设置文本框以便在 returnPressed() 时调用函数。我的问题是,当我单击文本框并输入文本时,其中一个按钮被选中,这意味着当我在文本框中按 Enter 时,它会同时激活按钮和文本框功能。

有没有解决的办法?在编辑文本框时阻止任何按钮被选中的方法?

代码相当长,所以我不能在这里添加,但如果有任何关于布局或任何相关问题的问题,请询问。

感谢您提供的任何帮助

4

1 回答 1

3

根据您的问题和评论,我猜测按钮和行编辑位于 QDialog 中,并且由于按钮的默认/自动默认属性而发生选择/突出显示。

通常,这些属性将设置为 False,但在 QDialog 中它们会自动设置为 True。当前默认按钮会在其周围绘制一个额外的框架(即使它没有键盘焦点),并在按下返回键时激活。

您当然可以通过简单地执行以下操作来防止这种行为:

button.setDefault(False)
button.setAutoDefault(False)

对于对话框中的每个按钮。

于 2013-11-20T02:33:34.243 回答