//主要使用类
#include <Qstring>
#include <QMenu>
#include <QMenuBar>
#include <QToolBar>
#include <QTextEdit>
#include <QDockWidget>
#include <QStatusBar>
#include <QLabel>
#include <QDialog>
#include <QMessageBox>
#include <QFileDialog>
QMenuBar类; 在windows平台下提供MenuBar()函数配合setMenuBar()使用;在mac中要建立共享菜单则要用new QMenuBar生成菜单栏;
QDialog类;其对象有模态与非模态窗口;可用exec()(使程序停留在此),或show()区分;在动作触发时创建的对象,可用setAttribute(设置对象属性)来设置消毁时机;
QMessageBox类,QFileDialog类,对静态成员的使用;
QMessageBox类中对按键的选择判断可用switch; 
//菜单栏
this->setMinimumSize(, );
QMenuBar *myBar = menuBar();
this->setMenuBar(myBar);
QMenu *File = new QMenu(QString("文件"));
myBar->addMenu(File); File->addAction(QString("新建"),[=]{ });
File->addSeparator();
File->addAction(QString("打开"), [=]{
QFileDialog::getOpenFileName(this, QString("打开文件"), QString("./"), QString("Images (*.png *.xpm *.jpg)"));
});
QAction *Abt = myBar->addAction(QString("模态"));
QAction *Abt1 = myBar->addAction(QString("非模态")); //工具栏
QToolBar *ToBar = new QToolBar;
this->addToolBar(ToBar);
ToBar->addAction(QString("新建"),[=]{ });
ToBar->addAction(QString("打开"), [=]{ });
//工作区
QTextEdit *txt1 = new QTextEdit;
this->setCentralWidget(txt1);
//悬浮窗
QDockWidget *dock = new QDockWidget(QString("txt"));
QTextEdit *txt2 = new QTextEdit;
dock->setWidget(txt2);
this->addDockWidget(Qt::RightDockWidgetArea, dock);
//状态栏
QStatusBar *StBar = new QStatusBar;
this->setStatusBar(StBar);
QLabel *Lab1 = new QLabel(QString("状态栏:"));
QLabel *Lab2 = new QLabel(QString(""));
StBar->addWidget(Lab1);
StBar->addPermanentWidget(Lab2); //模态对话框
connect(Abt, &QAction::triggered, [=]
{
QDialog *d1 = new QDialog;
d1->show();
d1->setAttribute(Qt::WA_DeleteOnClose);
});
//非模态
connect(Abt1, &QAction::triggered, [=]
{
QDialog *d2 = new QDialog;
d2->exec();
d2->setAttribute(Qt::WA_DeleteOnClose);
}); //MessageBox
QAction *about1 = myBar->addAction(QString("关于"));
connect(about1, &QAction::triggered, [=]
{
QMessageBox::about(this, QString("关于"), QString("关于qt"));
}); QAction *about2 = myBar->addAction(QString("保存/关闭"));
connect(about2, &QAction::triggered, [=]
{
QMessageBox::StandardButton i = QMessageBox::question(this, QString("关于2"), QString("多按键"),QMessageBox::Save | QMessageBox::Close);
switch(i)
{
case QMessageBox::Save:
{
Lab2->setText(QString("保存成功"));
}
break;
case QMessageBox::Close:
{
Lab2->setText(QString("关闭"));
}
break;
default:
break;
}
});
												

Qt 5 常用类及基本函数的更多相关文章

  1. 【QT】常用类

    官方文档 doc QWidget QWidget类是所有用户界面对象的基类. 窗口部件是用户界面的一个基本单元:它从窗口系统接收鼠标.键盘和其它事件,并且在屏幕上绘制自己. 每一个窗口部件都是矩形的, ...

  2. Qt学习之路(1)------Qt常用类用法说明

    Qt常用类 向控制台输出文本 第一个例子,我们采用STL的方式: console.cpp #include <iostream> int main() { std::cout <&l ...

  3. Qt 中一些常用类中文说明

    Qt 中一些常用类中文说明是本文讲述的内容,这篇文章主要是介绍Qt 当中经常使用的类,采取的是使用字母索引的方式,下面的类是被经常使用的. QDataStream 为QIODevice提供了一串的二进 ...

  4. Qt常用类——Qstring

    Qstring有一些方面跟C/C++中的string的使用,例如把一个字符串追加到另一个字符串中,也是用“+”.也有append函数等. 下面是是Qstring的一些常用的具体函数示例: Qt的QSt ...

  5. 【学习笔记】QT常用类及应用

    一.QT基类: QObject 二.QT中常用的库 QT中的类根据功能划分在不同的库中,在用户属性.pro文件中可以看到. 三.Qt基本对话框的使用 常用5类: 通过类名可以直接调用类的静态成员函数. ...

  6. Qt的QVariant类

    QStandardItemModel类中的函数 bool setData(const QModelIndex &index, const QVariant &value, int ro ...

  7. Foundation框架下的常用类:NSNumber、NSDate、NSCalendar、NSDateFormatter、NSNull、NSKeyedArchiver

    ========================== Foundation框架下的常用类 ========================== 一.[NSNumber] [注]像int.float.c ...

  8. JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式

    相关链接: JS面向对象(1) -- 简介,入门,系统常用类,自定义类,constructor,typeof,instanceof,对象在内存中的表现形式 JS面向对象(2) -- this的使用,对 ...

  9. Java集合常用类特点整理

    集合的结构如下图所示: 集合的两个顶级接口分别为:Collection和Map Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序 ...

随机推荐

  1. 传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案--temp

    技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项 ...

  2. springdata的jpa配置文件application.xml

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  3. Maven下载安装测试

    一.Maven下载 在Maven官网下载压缩包 二.安装 解压后目录如下 bin目录包含mvn的运行脚本 boot目录包含一个类加载器的框架,加载自己的类库 conf是配置文件目录 lib目录包含一些 ...

  4. 2019中山纪念中学夏令营-Day4[JZOJ]

    Begin (题目的排序方式:难易程度) 什么是对拍: 对拍是一种在写完程序后,验证自己程序是不是正解的比较方便的方法. 实现过程: 对同一道题,再打一个暴力程序,然后用一些大数据等跑暴力程序来进行验 ...

  5. JS实现把一个页面层数据传递到另一个页面的两种方式

    本博客整理了两种方式从一个页面层向另一个页面层传递参数. 一. 通过cookie方式 1. 传递cookie页面的html,此处命名为a.html 请输入用户名和密码: <input id=&q ...

  6. 如何实现一个简化版的 jQuery

    对于操作 DOM 来说,jQuery 是非常方便的一个库,虽然如今随着 React, Vue 之类框架的流行,jQuery 用得越来越少了,但是其中很多思想还是非常值得我们学习的,这篇文章将介绍如何从 ...

  7. dubbo看这一篇就够了

    为什么要有分布式 近年来微服务.分布式等名词非常的火,那么我们又为什么要进行系统拆分?如何进行拆分呢?阿里的dubbo作为分布式框架的代表,无疑是推动了整个行业技术的进步.以前中小型公司都是一个war ...

  8. sql server 函数详解(5)系统函数

    返回表中指定字段的长度 返回表中指定字段的名称   返回数据表达式的数据的实际长度函数 返回数据库的编号   返回数据库的名称   返回数据库当前默认的null值 返回服务器端计算机的标识号 返回服务 ...

  9. 比特(bit)和字节(Byte)

    比特(bit)和字节(Byte) 基础的内容就不说了,这里是一个小的学习笔记 比特和字节的写法差异与应用场景 标准的写法中,正如标题中写的那样,是通过大小写来区分比特和字节的:比特的b应该是小写,而字 ...

  10. 进程管理工具之supervisor[详解]

    原文链接:https://blog.csdn.net/weixin_42390791/article/details/88866237 一.问题背景1.背景​   如何才能让一个进程摆脱终端,获得相对 ...