慢跑的哇 2015-10-20 07:29 采纳率: 0%
浏览 2395

迷惑?Qt槽函数不是立即被执行的吗?

我的代码如下:
MyDialog::MyDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::MyDialog)
{
ui->setupUi(this);
QTimer *timer=new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(Disapper()));
timer->start(2400);
sleep(1);
qDebug()<<"hh";
}
void MyDialog::Disapper()
{
qDebug()<<"we";
reject();

}

输出台:
hh
we

MyDialog是一个对话框,在外面被以模态exec()调用,2.4s后自动关闭,为什么槽函数没有立即执行,而是先执行输出hh才输出we?

  • 写回答

2条回答 默认 最新

  • 足下尺 2015-11-03 10:58
    关注

    并非如此,是否直接执行取决于connect的最后一个参数。你的程序设定定时器过期后才会显示we,那么输出当然就是这样。

    评论

报告相同问题?

悬赏问题

  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符
  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用