QT——QWidget类

代码图

创建QWidget类

1.创建QWidget类:QWidget w

2.构造子函数自定义widget类继承QWidget类

MyWidget w;

创建第二个widget窗口

①右击添加新文件:

②选择 c++ -> c++ class

③ 命名子窗口并且选择base class为QWidget

④直接下一步完成即可

 

如何设置两个窗口相互间转换

①主窗口头文件include子窗口头文件:#include "subwidget.h"

②设置父窗口私有子窗口成员:SubWidget w;

③主窗口头文件声明自定义槽函数:void changeWin();

④主窗口函数中设置连接信号和槽:connect(&b3,&QPushButton::released,this,&MainWidget::changeWin);

⑤定义槽函数:

void MainWidget::changeWin()

{

    //子窗口显示

    w.show();

    //本窗口隐藏

    this->hide();

 

}//至此已实现按钮控制子窗口显示父窗口隐藏

⑥为了让子窗口响应父窗口,需要在子窗口里面声明一个信号:void mySignal();

⑦子窗口声明里面定义一个常函数让其发射信号:void sendSlot();

其定义为:void SubWidget::sendSlot()

{

    emit mySignal();

}

⑧子窗口里面定义信号和槽连接:connect(&b,&QPushButton::click,this,&SubWidget::sendSlot());

⑨在父窗口里面连接子窗口的信号:connect(&w,&SubWidget::mySignal,this,&MainWidget::dealSub);

⑩定义父窗口处理的槽函数:

void MainWidget::dealSub()

{

    w.hide();

    this->show();

}

总而言之就是,①先在主窗口声明子窗口成员,主窗口通过按钮的信号响应一个自定义切换窗口的槽函数②至于子窗口没有主窗口的成员,则利用:子窗口通过按钮响应一个自定义发射信号的槽函数,主窗口通过感知子窗口发射的信号,响应一个自定义的子窗口切换到主窗口的函数

 

使用及解释

1.设置windows窗口名字:w.setWindowTitle("主要看气质");

2.设置QWidget窗口隐藏:window.hide();

3.设置QWidget窗口大小函数:window.resize(400,300)

发布了86 篇原创文章 · 获赞 0 · 访问量 3983

猜你喜欢

转载自blog.csdn.net/qq_35706707/article/details/102527171