我是 QT GUI 编程的新手,我正在使用 QT Creator。我看到的问题是当用户按下回车键时我的按钮和行编辑。我的程序打开一个组框并允许用户输入密码并按确定或取消。
如果用户在行编辑具有焦点时按下回车键,程序似乎会为 QAbstractButton 发出第二个信号animateClick();
所以当下一个组框打开并提示用户按下 ok 或取消时,程序会继续,就好像用户按下了确定按钮。
我设置了我的 Push 按钮以允许用户按 Tab 键并按 Enter 键。为了获得这个功能,我设置了 okbutton->setAutodefault(true);
和 cancelButton->setAutodefault(true);
我还有一个 lineEdit 供用户输入密码并按 Enter。我通过将返回按下信号连接到如下所示的确定按钮来设置它。
connect(lineEdit, SIGNAL(returnPressed()), okButton, SIGNAL(clicked()));
我还尝试将返回按下信号直接连接到插槽,但问题仍然存在。
connect(lineEdit, SIGNAL(returnPressed()), this, SLOT(chkPassword()));
如果用户用鼠标单击 okButton,或者我设置了 okButton->setAutoDefault(false);
程序功能正常。我想知道是否可以禁用在行编辑具有焦点时发生的 animateClick 信号。
对此的任何帮助将不胜感激。