qt 新窗口show后马上关闭_qt学习(四)主窗选钮,显示新窗口。

这篇博客介绍了如何在QT中创建一个新的对话框窗口,并通过按钮触发事件来显示或切换窗口。内容包括使用QT Designer创建对话框,设置按钮对象名,利用信号和槽机制进行交互,以及添加背景图片和窗口状态管理。示例代码展示了如何在点击按钮后检查信号返回值,以便决定是否显示主窗口。
摘要由CSDN通过智能技术生成

游戏有选区这个习惯, 当然,我特指《冒险岛》了,有的时候就是打开一个主屏幕上五个按钮让你点击进入, 甚至有的时候进去了还要选哪个频道,游戏服务器都得分区,频道来完成功能。现在我们先进入想选的区,不需要的可以看以后的登陆窗口了。

这一次的主要功能是完成选区,选完进入输入账号界面。

这次用的是一个点完出啦一个所以需要两个窗口,在原有的基础上新建qt设计师界面类。选择dialogwithoutbutton。

把最后一个要显示的当作主界面, 其他的都可以选择dialog模板,

完成以后,画ui界面, 一个dialog上有5个按钮, 按了触发主窗口,这个就不多说了, 但要注意button的对象名要写清楚。

有了这些就可以利用点击按钮来发送信号给亲爱的对话框催他进入主窗口, 哈哈 ,我们又进一步,怎么发信号前进呢?

把需要的背景截下来填充进去,我们在信号与槽里加下面的。

下面主要是程序的实现了,想想,有什么做呢????

我要显示一张图片,点击一个按钮,再显示一张图片(真正做的时候要用connect的方法写s四个槽再加点料, 因为要涉及数据库, 我这个进入数据库不会认识的)

显示先不说, 按钮需要一个判断,

用if(my1.exec() == QDialog::Accepted)

{

w.show();

}

判断我们上面定义的信号和槽发过来的是不是accept信号,是就if里面的 .

显示图片不是就show那么简单, 你要想让一个没有五官的白纸好看就得加点料

1 背景图铺满对话框需要加设置允许setAutoFillBackground

2 加载图片

QPalette palette;

//palette.setColor(QPalette::Background, QColor(192,253,123));

palette.setBrush(QPalette::Background, QBrush(QPixmap("G:/bunker/nGui/49ffd472f029090e57de7.jpg")));

my1.setPalette(palette);

3 dialog不是主窗口也所以要设置一下,

my1.setWindowFlags(Qt::Dialog);//主的才能全屏,所以给副的权力

my1.showFullScreen();

widget。h

qt代码不是c++的     main.cpp    主要是main函数修改其他的不用管了。

#include #include"widget.h"#include"mydlg.h"#include

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

Widget w;//主

myDlg my1;//先出的对话框

my1.setAutoFillBackground(true);

QPalette palette;//palette.setColor(QPalette::Background, QColor(192,253,123));

palette.setBrush(QPalette::Background, QBrush(QPixmap("G:/bunker/nGui/49ffd472f029090e57de7.jpg")));

my1.setPalette(palette);

my1.setWindowFlags(Qt::Dialog);//主的才能全屏,所以给副的权力

my1.showFullScreen();if(my1.exec() ==QDialog::Accepted)

{

w.show();returna.exec();

}else return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值