
qt
文章平均质量分 81
yhc166188
路虽远,行则将至;事虽难,做则必成!
展开
-
qt model/view 架构
有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的 Qt 要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后刷新组件进行显示。这个思路很简单,也很清晰,但是对于大型程序,这种设计就显得苍白无力。比如,在一个大型系统中,你的数据可能很大,全部存入一个组件...原创 2018-05-06 13:12:05 · 281 阅读 · 0 评论 -
qt Qwebsocket
WebSocket为什么需要 WebSocket?初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。HTTP 协议做不到服务器主动向客户端推送信息。WebSocket一种在单个...原创 2018-06-09 13:38:55 · 2500 阅读 · 0 评论 -
Qt之系统托盘(QSystemTrayIcon)
托盘是什么?这个就不用在多说了!而Qt中如何实现自己的托盘功能,Qt自带的demo也很明了,这里我们就来实现自己的一个托盘。。。 void TrayMenu::createActions() { //创建托盘项 action_show = new QAction(this); action_quit = new QAction(this); action_log...原创 2018-06-01 13:23:10 · 360 阅读 · 0 评论 -
Qt 启动外部程序
简述QProcess可以用来启动外部程序,并与它们交互。要启动一个进程,通过调用start()来进行,参数包含程序的名称和命令行参数,参数作为一个QStringList的单个字符串。另外,也可以使用setProgram()和setArguments()来运行,然后调用start()或open()。接口start() 启动外部程序readAllStandardError() 从标准错误中获取所有数据...转载 2018-06-22 15:35:22 · 381 阅读 · 0 评论 -
Qt QLocalSocket 进程间通信
简述QIODevice做为QLocalSocket的父类,我们先做一下简单的介绍QIODevice类是Qt中所有输入/输出设备的基本接口类。QIODevice为支持读取和写入数据块的设备提供了一个通用的实现和一个抽象接口,比如QFile、QBuffer和QTcpSocket。QIODevice是抽象的,不能被实例化,但是使用它定义的接口来提供与设备无关的输入/输出特性是很常见的。例如,Qt的XML...转载 2018-06-21 10:18:00 · 11709 阅读 · 0 评论 -
QTableView添加自定义QCheckBox
使用的是自定义委托的方式,重写了panit函数和editorEvent函数实现指定列内嵌复选框,单击实现选中状态切换主要思路:paint函数里进行复选框的绘制,并实时读取模型数据显示状态,editorEvent函数里判断单元格点击情况进行处理。源代码如下:checkdelegate.h#ifndef CHECKDELEGATE_H #define CHECKDELEGATE_H #incl...原创 2018-05-30 10:28:08 · 1578 阅读 · 0 评论 -
qt setWindowFlags各种标志位的窗口样式
记录一下windowFlags各种标志位的样式和用法,Qt之自定义界面(窗体缩放)// 设置无边框setWindowFlags(Qt::FramelessWindowHint);// 背景透明setAttribute(Qt::WA_TranslucentBackground, true);setWindowOpacity(0.5); //设置背景透明度 0为完全透明 setWindowFla...原创 2018-05-24 17:20:28 · 8914 阅读 · 0 评论 -
QT 设置窗口可移动及边缘背景
.h#ifndef MOVABLE_BASE_DLG_H#define MOVABLE_BASE_DLG_H#include <QDialog>class QPoint;class QPaintEvent;class OBSMovableDialog :public QDialog{public: OBSMovableDialog(QWidget* parent); ~OB...原创 2018-05-24 08:16:05 · 1255 阅读 · 0 评论 -
Qt绘制直线、矩形、圆
新建一个Qt Widgets Application工程添加头文件#include <QPainter>添加paintEvent函数,代码如下:void MainWindow::paintEvent(QPaintEvent *){ QPainter painter(this); painter.setPen(QPen(Qt::blue,4));//设置画笔形式 或者Qpe...原创 2018-05-08 15:27:14 · 4787 阅读 · 0 评论 -
Qt QTableView的使用
表格数据基本需要用到QTableView 进行表示, 记录下QTableView 的使用方法和遇到的问题创建QTableViewQTableView* table = new QTableView(); //设置表格属性table->setEditTriggers(QAbstractItemView::NoEditTriggers);//设置表格只读,不能进行编辑table->s...原创 2018-05-07 21:56:25 · 976 阅读 · 0 评论 -
qt tableview 自定义显示
qt利用委托QStyledItemDelegate,实现tableview 的表格项的自定义显示。在qt数据的显示中经常有用到数据显示的model/view结构,简单说一下就是简单的数据我们可以直接用类似于listwidget之类的已经实现好的类来操作,但是当数据我们想要有比较好的分离控制的时候,会把数据和显示分开来,用model来存储和修改数据,view只是用来显示这些数据,而在两者之间,我们可...原创 2018-05-07 07:43:16 · 3109 阅读 · 0 评论 -
qt利用委托实现tableview 的表格项的自定义显示
qt利用委托QStyledItemDelegate,实现tableview 的表格项的自定义显示。在qt数据的显示中经常有用到数据显示的model/view结构,简单说一下就是简单的数据我们可以直接用类似于listwidget之类的已经实现好的类来操作,但是当数据我们想要有比较好的分离控制的时候,会把数据和显示分开来,用model来存储和修改数据,view只是用来显示这些数据,而在两者之间,我们可...原创 2018-05-06 23:13:18 · 2887 阅读 · 0 评论 -
Qt常用框控件
Qt入门-单选框和复选框在Qt GUI中,单选框类是QRadioButton,复选框类是QCheckBox。它们都是QAbstractButton的派生类。(1)单选框//设置为选择状态 radioButton->setChecked(true); //获取选择状态 bool radio_sel = radioButton->isChecked(); (2)复选框 复选框不同...原创 2018-04-28 13:51:16 · 873 阅读 · 0 评论 -
qt模型
在 model/view 架构中,model 提供一种标准接口,供视图和委托访问数据。在 Qt 中,这个接口由QAbstractItemModel类进行定义。不管底层数据是如何存储的,只要是QAbstractItemModel的子类,都提供一种表格形式的层次结构。视图利用统一的转换来访问模型中的数据。但是,需要提供的是,尽管模型内部是这样组织数据的,但是并不要求也得这样子向用户展示数据。下面是各种...原创 2018-05-06 15:07:23 · 217 阅读 · 0 评论 -
qt 自定义只读模型
model/view 模型将数据与视图分割开来,也就是说,我们可以为不同的视图,QListView、QTableView和QTreeView提供一个数据模型,这样我们可以从不同角度来展示数据的方方面面。但是,面对变化万千的需求,Qt 预定义的几个模型是远远不能满足需要的。因此,我们还必须自定义模型。类似QAbstractView类之于自定义视图,QAbstractItemModel 为自定义模型提...原创 2018-05-06 14:42:14 · 567 阅读 · 0 评论 -
Qt connect信号槽
connect用于连接qt的信号和槽,在qt编程过程中不可或缺。它其实有第五个参数,只是一般使用默认值,在满足某些特殊需求的时候可能需要手动设置。Qt::AutoConnection: 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnec...原创 2018-07-25 15:01:10 · 142 阅读 · 0 评论