qt学习(四)主窗选钮,显示新窗口。

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

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

这次用的是一个点完出啦一个所以需要两个窗口,在原有的基础上新建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 0;
}

qt学习(四)主窗选钮,显示新窗口。,布布扣,bubuko.com

时间: 2024-10-29 03:09:19

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

Qt学习四 - 布局管理器

开发界面程序,一定会涉及到布局的问题.我们需要让控件显示在理想中的位置,可以直接设置控件的坐标和宽高.但是这样带来一个问题,当用户改变窗口大小时,例如点击最大化按钮或者拖拽窗口边缘,控件是不会改变的(包括控件的坐标和宽高).因为在窗口改变时,你没有告诉程序是否更新控件以及如何更新.如果需要让控件自动更新,那么就要自己来写一些函数来相应这些变化.针对这种情况,Qt提供了一种机制 - 布局,来解决这个问题(大部分用于开发界面程序的语言或者框架,都会提供类似的机制).只需要将控件放入某一种布局,当位置

Html学习(四) 图片和横线的显示

代码: <hr width="90%" color="green"</hr> <img src="http://img.my.csdn.net/uploads/201309/01/1378037235_3453.jpg" alt="这就是图片"/> 效果: 介绍: hr>标签用于在页面上添加横线.可以通过指定width和color属性来控制横线的长度和颜色. <img>标签用于在

Qt学习(7)

Qt学习(7)——Hello Designer 上一节的 Hello Widget 例子中,主界面窗口的尺寸和标签控件显示的矩形区域等,都是用 C++ 代码编写的.窗口和控件的尺寸都是预估的,控件如果多起来,那就不好估计每个控件合适的位置和大小了. 用 C++ 代码编写图形界面的问题就是不直观,因此 Qt 项目开发了专门的可视化图形界面编辑器—— Qt Designer, 即 Qt 设计师.通过设计师就可以很方便地创建图形界面文件 *.ui ,然后将 ui 文件应用到源代码里面,做到所见即所得(

Qt 学习之路 2 --- 读书笔记

一.文章来由 来自豆子老师非常好的一本Qt教程,但是只有网络版,所以用这个做笔记了,不动笔墨不读书嘛~~ 二.读书笔记 1.Qt 学习之路 2(2):Qt 简介 1.1 关于 Qt 的一站式解决 Qt 是一个著名的 C++ 应用程序框架.但并不只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个"一站式"的解决方案:不再需要研究 STL,不再需要 C++ 的,不再需要到处去找解析 XML.连接数据库.访问网络的各种第三方库,因为

【Qt学习笔记】2.窗体Widget && 屏幕坐标 && 布局

一.窗体 在Qt中,把窗体(口)叫做Widget. Widget可以是主窗体(口),也可以是依附在主窗体(口)上的各种控件,作为子窗体,这两种窗口,分别称作顶级窗口(top-level widget)和子窗口(sub widget). 顶级窗口:一个标准的窗口,带边框.标题栏.若干按钮.(独立) 子窗口:在窗口里面的窗口,例如:按钮.文本框等控件.(不独立,随着父窗口移动) 注意: 1.每个子窗口都有一个父窗口 2.子窗口里面可能包含了若干子窗口,是一层一层的关系. 3.顶级窗口也有父窗口:就是

Qt学习--03Day

学习目标:制作简易学生管理系统 1.菜单栏中的相关概念 菜单栏 (一级)子菜单 (二级)子菜单 ...... 设计要点:子菜单最好不要超过三级 2.菜单栏中相关组建的删除 菜单   --------   对象与类面板 子菜单  -------  Action编辑器中 分隔符 -------   界面编辑板 3.窗口显示 show()  非模态显示 显示窗口后,立即返回 exec() 模态显示 显示窗口后,循环处理该窗口消息 直到调用close();返回 可以返回界面设置的结果 accept  -

qt学习(三):鼠标图标改变

qt学习 (三):鼠标图标改变 当你进入一个美好的qt软件场景,比如游戏,电脑的黑白图标会让程序逊色不少, 1改图标要加光标的头文件, 2 载入光标图, 3 再设置改光标就可以了 1在头文件中加 #include <QtGui>  //光标类的父类 //再在public成员中声明换的函数void keyPressEvent(QKeyEvent *k); //声明按键换图的函数         .h文件    --注意头文件和声明 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

【Qt学习笔记】13.拖放技术:Drag & Drop

1.接受拖放 Drag & Drop 是一个界面操作,用于在两个窗口间传递数据. Drag Source: 拖放源窗口 Drag Target: 拖放目标窗口 拖放操作: 1.在源窗口:选中目标,按下鼠标,移动,拖至目标窗口(Drag) 2.在目标窗口:取消鼠标,到指定位置,松开鼠标(Drop) (按下ESC取消操作) MIME: MIME(Multipurpose Internet Mail Extensions)被传递的数据以MIME格式传送,它是多组type-data数据:(type0,

QT学习笔记—1

1.模态和非模态的区别:非模态可以同时操作两个窗口,模态的只能在顶层窗口关闭之后才能使用其他窗口 //同时显示出widget和dialog窗口,非模态     QDialog *dialog = new QDialog(this);     dialog->show(); //同时显示出widget和dialog窗口,模态     QDialog *dialog = new QDialog(this);     dialog->setModal(true);     dialog->sh