PyQt按钮选择

时间:2013-11-20 00:32:19

标签: python qt pyqt qlineedit qpushbutton

我有一个PyQt GUI设置,其中包含一系列QPushButtons和一个QLineEdit文本框(以及其他内容)。设置文本框以便在returnPressed()时调用函数。我的问题是当我点击文本框并输入文本时,其中一个按钮被选中,这意味着当我在文本框中按Enter键时,它会激活按钮和文本框功能。

有解决方法吗?有哪些方法可以在编辑文本框时停止选择任何按钮?

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

感谢您提供任何帮助

1 个答案:

答案 0 :(得分:3)

根据你的问题和评论,我猜测按钮和行编辑是在QDialog中,并且选择/突出显示是由于按钮的default / autoDefault属性而发生的。

通常,这些属性将设置为False,但在QDialog中,它们会自动设置为True。当前默认按钮会获得围绕它绘制的附加框架(即使它没有键盘焦点),并且只要按下返回键就会激活。

您当然可以通过以下方式阻止此行为:

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

对话框中的每个按钮。