QDialog::sender()与accept()

先说一说QT之中的小知识点:

                  1:QObject是所有类的基类。QMainwindow:主窗体 ;QDialog :顶级对话框。顶级意思是说不能放在另外一个窗体上,如果不清楚当前用的会不会有子窗体,也不清楚会不会放在某个窗体上,则用QWidget.

                 2.关于布局:

 相关详细信息见https://www.jianshu.com/p/938301a4d54e

               3.关于accept()和accepted和exec的用法

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;             //主窗体

    myDialog my1;      //创建一个指向子窗口的对象
                                          //这里子窗口上的按键按下该窗体accept()函数会让窗体关闭
    if(my1.exec() == QDialog::Accepted)//这里my1.exec意思是显示子窗口并阻塞
    {
        w.show();                  //显示主窗体
        return a.exec();           
    }
    else
    {
        return 0;
    }


}

             4. 关于QDialog::sender()-----用于多个signal对应同一个槽函数,

 QObject* s = sender(); //sender()会返回一个窗体内发出信号的指针。这样就知道是谁发出的信号,再对应处理。

              

猜你喜欢

转载自blog.csdn.net/luoshiyong123/article/details/84729861