python - PyQt 按钮选择

标签 python qt pyqt qlineedit qpushbutton

我设置了一个 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/

相关文章:

c++ - 禁用 QSql(Relational)TableModel 的预取/缓存行为

c++ - QSyntaxHighlighter 不适用于创建的表单 QTextEdit

python - 在另一个 Pyside/Pyqt 屏幕上调用函数

python - Youtube-dl 订阅 mp3

python - 在 matplotlib 中合并两个已经存在的图(png 文件)

python - python 线程中的多处理并不能让每个子进程都工作

c++ - QXcbIntegration : Cannot create platform OpenGL context, GLX 和 EGL 均未启用

python - 如何过滤QComboBox的数据

python - 在 UI 元素上使用 setattr()

python - 写入 CSV 文件时如何追加到新行