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

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

这次用的是一个点完出啦一个所以需要两个窗口,在原有的基础上新建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 <QtGui/QApplication>
#include "widget.h"
#include "mydlg.h"
#include <QPalette>
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(); return a.exec();
}
else return ;
}

qt学习(四)主窗选钮,显示新窗口。的更多相关文章

  1. PyQt(Python+Qt)学习随笔:复选框checkBox的tristate属性

    在Qt Designer中,tristate属性是复选框checkBox相比较于QAbstractButton多出来的唯一属性. tristate属性表示复选框是三种状态还是两种状态,如果trista ...

  2. Qt学习(四)—实例涂鸦画板mspaint

    一.Qt图形绘制 自己在Qt开源社区在自学yafeilinux前辈的<Qt快速入门系列教程>中的图形篇,结合所学的知识,可以做一个涂鸦板实例 二.实现涂鸦板 1.新建工程mspaint, ...

  3. 【转载】解决window.showModalDialog 模态窗口中location 打开新窗口问题

    来源: <http://bibipear.blog.sohu.com/143449988.html> 在我们的项目中,通常会用到showModalDialog 打开一个模态的子窗口,但是在 ...

  4. Qt 学习之路 2(57):可视化显示数据库数据

    Qt 学习之路 2(57):可视化显示数据库数据(skip) 豆子 2013年6月26日 Qt 学习之路 2 26条评论 前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法.显然,使用QSq ...

  5. Qt学习笔记-嵌入式qt程序支持显示中文

    移植后得qt程序在开发板上运行时无法显示中文. 拷贝windows中的字体也不行. 从网上找到方法. 添加以下代码:需要头文件  #include <QTextCodec> QTextCo ...

  6. QT学习之第一个程序

    QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...

  7. Qt 学习之路 2(53):自定义拖放数据

    Qt 学习之路 2(53):自定义拖放数据 豆子  2013年5月26日  Qt 学习之路 2  13条评论上一章中,我们的例子使用系统提供的拖放对象QMimeData进行拖放数据的存储.比如使用QM ...

  8. Qt 学习之路 2(10):对象模型

    Home / Qt 学习之路 2 / Qt 学习之路 2(10):对象模型 Qt 学习之路 2(10):对象模型  豆子  2012年9月2日  Qt 学习之路 2  45条评论 标准 C++ 对象模 ...

  9. Qt 学习之路 2(4):信号槽

    Home / Qt 学习之路 2 / Qt 学习之路 2(4):信号槽 Qt 学习之路 2(4):信号槽  豆子  2012年8月23日  Qt 学习之路 2  110条评论 信号槽是 Qt 框架引以 ...

随机推荐

  1. 在Developerkit开发板上运行blink例程

    本文将介绍怎么样在VScode环境下,将AliOS Tings提供的blink例程在Developerkit开发板上运行起来. DeveloperKit开发板   在例程中分别用到两个led和一个按钮 ...

  2. JS中数据结构之图

    图由边的集合及顶点的集合组成.边是有方向的是有序图(有向图),否则就是无序图(无向图).图中的一系列顶点构成路径,路径中所有的顶点都由边连接.路径的长度用路径中第一个顶点到最后一个顶点之间边的数量表示 ...

  3. Python读取文件时出现UnicodeDecodeError 'gbk' codec can't decode byte 0x80 in position x

    Python在读取文件时 with open('article.txt') as f: # 打开新的文本 text_new = f.read() # 读取文本数据出现错误: UnicodeDecode ...

  4. Linux测试端口的连通性的四种方法

    目录 1.telnet 2.ssh 3.crul 4.wget 方法一.telnet telnet为用户提供了在本地计算机上完成远程主机工作的能力,因此可以通过telnet来测试端口的连通性,具体用法 ...

  5. @encode关键字

    @encode() 为了更好的互操作性,Objective-C 的数据类型,甚至自定义类型.函数或方法的元类型,都可以使用 ASCII 编码.@encode(aType) 可以返回该类型的 C 字符串 ...

  6. vs2005安装 和 Fatal Error C1902

    win10系统不能激活 win7可以激活,运行会出现兼容错误,解决办法装2个sp1补丁 拷贝mspdb80.dll到系统目录后会出现 Fatal Error C1902, 解决方法如下: VC++20 ...

  7. Tomcat安装后修改路径方法

    tomcat+mysql+jdk 本地已经安装tomcat.mysql.jdk服务,需要更改安装目录由D盘改为C盘,方法如下 一.停止tomcat.mysql服务 二.安装文件由D盘拷贝到C盘,原D盘 ...

  8. iview+vue 表格中添加图片

    开门见山,话不多说,要在表格中添加图片,可以使用td: <table " width="100%"> <tr class="tr-style ...

  9. 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql'

    原文链接:https://blog.csdn.net/sea_snow/article/details/82498791 感谢原作者大大  提示:ERROR 1044 (42000): Access ...

  10. Linux下MySQL 命令导入导出sql文件

    导出数据库 直接使用命令: mysqldump -u root -p database >database.sql 然后回车输入密码就可以了: mysqldump -u 数据库链接用户名 -p ...