//主要使用类
#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. [转] Python中的装饰器(decorator)

    想理解Python的decorator首先要知道在Python中函数也是一个对象,所以你可以 将函数复制给变量 将函数当做参数 返回一个函数 函数在Python中和变量的用法一样也是一等公民,也就是高 ...

  2. [转帖]流言终结者 —— “SQL Server 是Sybase的产品而不是微软的”

    流言终结者 —— “SQL Server 是Sybase的产品而不是微软的” https://www.cnblogs.com/xxxtech/archive/2011/12/30/2307859.ht ...

  3. 使用php过滤emoji表情

    /** * 过滤字符串中表情 * @param $str string 昵称 * @return string */ public function filterEmoji($str) { $str ...

  4. Adam作者大革新, 联合Hinton等人推出全新优化方法Lookahead

    Adam作者大革新, 联合Hinton等人推出全新优化方法Lookahead   参与:思源.路.泽南 快来试试 Lookahead 最优化方法啊,调参少.收敛好.速度还快,大牛用了都说好. 最优化方 ...

  5. Java后端技术面试汇总(第三套)

    1.基础题 • 怎么解决Hash冲突:(开放地址法.链地址法.再哈希法.建立公共溢出区等)• 写出一个必然会产生死锁的伪代码:• Spring IoC涉及到的设计模式:(工厂模式.单利模式..)• t ...

  6. bash脚本测试总结

    bash脚本测试总结   跟踪脚本的执行 可以让bash打印出你脚本执行的过程中的所有语句.这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下.   下面的这段脚本,先是输出一个问候 ...

  7. luogu P2605 [ZJOI2010]基站选址

    luogu 先考虑朴素dp,设\(f_{i,j}\)表示在第\(i\)个村庄放了基站,一共放了\(j\)次,且只考虑前面村庄影响的答案.这里可以把\(j\)放在外面枚举,然后从\(f_{k,j-1}( ...

  8. 关于redis的几件小事(五)redis保证高并发以及高可用

    如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 redis高并发:主从架构 ...

  9. Session的生命周期和工作原理

    一.什么是Session,如何使用?Session是用于存放用户与web服务器之间的会话,即服务器为客户端开辟的存储空间. 由于客户端与服务器之间的会话是无状态的机制,Session则可用于关联访问, ...

  10. xml_dom4j

    1.用dom4j解析文件 package Xml3; import java.io.File; import java.util.Iterator; import org.dom4j.Attribut ...