qt 不点击按钮触发按钮clicked事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 不点击按钮触发按钮clicked事件相关的知识,希望对你有一定的参考价值。

写了一个登录功能,账号和密码,是否记住密码,是否自动登录,都写进数据库,每次登录时,都从数据库读出。当从数据库读出的数据时记住密码和自动登录时,相当于点击了登录按钮,直接进入主界面。
main函数式这样写的

登录界面的登录按钮
private slots: void on_loginBtn_clicked();
void LoginDialog::on_loginBtn_clicked(),登录成功的话,accept();,这样main函数就会返回QDialog::Accepted,登录到主界面。

在登录界面构造函数里,去读数据库

但是无论是调用on_loginBtn_clicked();还是给按钮发信号,能进入到on_loginBtn_clicked()函数里,也执行了accept();,但是main函数都不返回QDialog::Accepted,不能进入主界面。还是会显示登录界面,必须点击一下登录按钮才会进入主界面。
请高手指点啊

参考技术A 你emit里面改为ui->loginBtn->clicked()试下追问

改了,编译不过去,emit里的是对着的,能进入到on_loginBtn_clicked()函数里

追答

其实还有一种思路,你可以做一个成员变量,在你响应完on_loginBtn_clicked函数之后,将它的值改掉,然后将原有判断QDialog::Accept的地方改为判断那个变量的值....你说的这个我晚点回去试试看

追问

你说的成员变量的我以前试过,不行的,还是会出来登录的对话框

以上是关于qt 不点击按钮触发按钮clicked事件的主要内容,如果未能解决你的问题,请参考以下文章

jQuery如何实现点击一个按钮触发时间,点击另一个不触发?

js触发按钮点击事件

js触发按钮点击事件

WPF代码触发Button点击事件

Vue中 点击触发按钮 请求接口

jQuery中引用js,按钮点击不触发是怎么回事?