![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
QT
~青萍之末~
弱者总有弱者的理由
展开
-
QT常用控件之QVBoxLayout,QRadioButton,QCheckBox,QMenu,QAction
QT常用控件的组合#include "mainwindow.h"#include #include #include #include //单选框#include //复选框#include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ QGr转载 2017-06-30 16:11:16 · 1331 阅读 · 0 评论 -
QT常用控件之QTimer,QDialog,QLabel,QLineEdit,QProgressBar,QComboBox,QPushButton,QGridLayout
QT常用控件的组合#ifndef PROGRESSBARWIDGET_H#define PROGRESSBARWIDGET_H#include #include #include #include #include #include //显示进度条的控件#include #include #include //网格布局class ProgressBar原创 2017-06-30 14:58:04 · 841 阅读 · 0 评论 -
深入理解模型视图、自定义模型
一、深入理解模型 在 model/view 架构中,model 提供一种标准接口,供视图和委托访问数据。在 Qt 中,这个接口由QAbstractItemModel类进行定义。不管底层数据是如何存储的,只要是QAbstractItemModel的子类,都提供一种表格形式的层次结构。视图利用统一的转换来访问模型中的数据。但是,需要提供的是,尽管模型内部是这样组织数据的,但是并不要求也得这样原创 2017-06-30 11:27:34 · 2870 阅读 · 0 评论 -
模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSystemModel
一、模型视图简介 有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的 Qt 要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后刷新组件进行显示。这个思路很简单,也很清晰,但是对于大型程序,这种设计就显得苍白无力。比如,在一个大型系统中,你的数原创 2017-06-30 10:37:18 · 1444 阅读 · 0 评论 -
文件读写
文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备的类图:QIODevice:所有 I/O 设备类的父类,提供了字节块读写的通用操作以及基本接口;QFlie:访问本地文件或者嵌入资源;QTemporaryFile:创建和访问本地文件系原创 2017-06-21 09:52:41 · 401 阅读 · 0 评论 -
绘制系统(绘制系统简介,画笔和画刷,渐变系统,坐标系统,绘制文字和图片,图形视图框架)
一、绘制系统简介 Qt中提供了强大的2D绘图系统,可以使用同一API实现在屏幕和绘图设备上进行绘制,它主要基于QPainter、QPaintDevice和QPaintEngine这三个类。其中QPainter用来执行绘图操作;QPaintDevice提供绘图设备,它是一个二维空间的抽象,可以使用QPainter在其上进行绘制;QPaintEngine提供了一些接口,可以用于QPain原创 2017-05-15 23:42:03 · 858 阅读 · 0 评论 -
事件(认识事件,重写event(),事件过滤器,定时器,事件总结)
一、认识事件1、事件(event) 是由系统或者 Qt 本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。2、事件也就是我们通常说的“事件驱动(event drive) ”程序设计的基础概念。事件的出现,使得程序代码不会按照原始的线原创 2017-05-06 14:50:48 · 1535 阅读 · 1 评论 -
文件对话框(QFileDialog)
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include class MainWindow : public QMainWindow{ Q_OBJECTprivate: QAction *openaction; QAction *saveaction; QTextEdit *原创 2017-04-19 16:02:45 · 2255 阅读 · 0 评论 -
标准对话框(QMessageBox)
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include class MainWindow : public QMainWindow{ Q_OBJECTprivate slots: void click();private: QPushButton *btn; QMessa原创 2017-04-19 15:52:08 · 1183 阅读 · 0 评论 -
对话框(dialog)、菜单栏、工具栏、状态栏
#include "mainwindow.h"#include //动作#include //菜单栏#include //消息提示框#include //工具栏#include //状态栏MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ this->setWindowTitle("呵呵");原创 2017-04-19 15:44:34 · 4944 阅读 · 0 评论 -
布局管理器
#include "widget.h"#include #include #include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.setWindowTitle("输入年龄"); w.setMinimumSiz原创 2017-04-19 15:33:30 · 458 阅读 · 0 评论 -
对象模型
标准 C++ 对象模型在运行时效率方面卓有成效,但是在某些特定问题域下的静态特性就显得捉襟见肘。 GUI 界面需要同时具有运行时的效率以及更高级别的灵活性。为了解决这一问题,Qt “扩展”了标准 C++。所谓“扩展”,实际是在使用标准 C++ 编译器编译 Qt 源程序之前, Qt先使用一个叫做 moc( Meta Object Compiler,元对象编译器)的工具,先对 Qt 源代码原创 2017-04-11 16:56:35 · 457 阅读 · 0 评论 -
添加动作
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include class MainWindow : public QMainWindow{ Q_OBJECTprivate: void open(); QAction *openaction;public: MainWindow(QWidget *pa原创 2017-04-11 16:53:00 · 637 阅读 · 0 评论 -
QT模块简介
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。 Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中。 Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化。本节主要对 Qt 5 的模块进行一个简单的介绍, 以便以后大家需要哪些功能的时候知道到哪个模块去寻找。Qt 5 模块分为 Essentials Modules 和 Add-on Mod原创 2017-04-11 16:48:26 · 851 阅读 · 0 评论 -
自定义信号与槽
#ifndef NEWSPAPER_H#define NEWSPAPER_H#include /**只有继承了 QObject 类的类,才具有信号槽的能力。所以,为了使用信号槽,*必须继承 QObject。凡是 QObject 类(不管是直接子类还是间接子类),*都应该在第一行代码写上 Q_OBJECT。不管是不是使用信号槽,都应该添加这个宏。*这个宏的展开将为我们原创 2017-04-11 16:45:39 · 888 阅读 · 0 评论 -
信号槽机制浅析
转自:http://blog.csdn.net/harbinzju/article/details/10813635一、信号槽的基本概念关于QT信号槽的基本概念大家都懂,通过信号槽机制,QT使对象间的通信变得非常简单:A对象声明信号(signal),B对象实现与之参数相匹配的槽(slot),通过调用connect进行连接,合适的时机A对象使用emit把信号带上参数发射出去,B对象的转载 2017-04-08 20:46:03 · 754 阅读 · 0 评论 -
Qt登录对话框
转自:http://www.qter.org/portal.php?mod=view&aid=29一、使用设计模式创建界面1.新建Qt Widgets Application,项目名称为login,类名和基类保持MainWindow和QMainWindow不变。2.完成项目创建后,向项目中添加新的Qt设计师界面类,模板选择Dialogwithout Bu转载 2017-04-08 20:37:42 · 3993 阅读 · 0 评论 -
编写Qt多窗口程序
转自:http://www.qter.org/portal.php?mod=view&aid=27一、添加主窗口1.首先打开Qt Creator,新建Qt Widgets Application,项目名称设置为windows,在类信息界面保持基类为QMainWindow、类名为MainWindow,这样将会生成一个主窗口界面。2.完成项目创建后,双击转载 2017-04-08 20:24:02 · 10025 阅读 · 1 评论 -
Qt开发环境的搭建和hello world
转自:http://www.qter.org/portal.php?mod=view&aid=26一、Qt SDK的下载和安装1、下载 Qt官网主页提供了最新版Qt的下载,不过我们更倾向于去资源下载页面(https://download.qt.io/official_releases/qt/5.8/5.8.0/)进行下载,这里罗列了所有可用版本,便于选择,如下图所示。(转载 2017-04-08 16:56:27 · 8603 阅读 · 0 评论