![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
QT
Linux老A
嵌入式打杂专家
展开
-
Qt61 视图中的委托1
学习自唐佐林老师的QtSubStyledItemDelegate.h#ifndef SUBSTYLEDITEMDELEGATE_H#define SUBSTYLEDITEMDELEGATE_H#include <QStyledItemDelegate>//自定义委托类,需要重写成员函数class SubStyledItemDelegate : public QStyledItemDelegate{ Q_OBJECTprotected slots:原创 2021-05-05 15:45:54 · 189 阅读 · 0 评论 -
Qt58 自定义模型类1,QStandardItemModel通用模型类,QVariant变体类
学习自唐佐林老师的Qtmain.cpp#include <QtCore/QCoreApplication>#include <QVariant>#include <QPoint>#include <QDebug>QVariant func(){ QVariant ret; return ret;//返回值类型可变}int main(int argc, char *argv[]){ QCoreAppli原创 2021-05-05 12:33:37 · 462 阅读 · 0 评论 -
Qt57 模型与视图设计模式3 关于数据属性,不同的视图显示同一个模型中的数据
学习自唐佐林老师的QtQStandardItemModel :储自定义数据的通用模型QTableView 模型 提供了一个表视图的默认模型/视图实现。QListView 模型 提供了一个列表或图标视图。QTreeView 模型 提供了树视图的默认模型/视图实现。Widget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QTableView>#include <原创 2021-05-05 11:28:30 · 293 阅读 · 0 评论 -
Qt56 模型与视图设计模式2,关于索引!!!
学习自唐佐林老师Qt这个图很重要!!!QModelIndex QFileSystemModel::setRootPath ( const QString & newPath )告知当前文件系统模型,需要监视的就是newPath 参数所代表的路径下面的内容,对该目录中的文件和目录的任何更改都将反映在模型中。如果路径被更改,rootPathChanged()信号将被发出。Signals:1 void directoryLoaded ( const QString & pa原创 2021-05-04 22:36:41 · 273 阅读 · 0 评论 -
Qt55 模型视图设计模式初探,QFileSystemModel,QTreeView
学习自唐佐林老师QtWidget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QFileSystemModel>#include <QTreeView>class Widget : public QWidget{ Q_OBJECT //创建文件系统模型对象,用于组织数据,组织文件夹和文件的数据 QFileSystemModel m_fs原创 2021-05-04 20:33:32 · 212 阅读 · 0 评论 -
Qt54 多页面切换组件 QTabWidget
学习自唐佐林老师的QtWidget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QTabWidget>class Widget : public QWidget{ Q_OBJECT QTabWidget m_tabWidget;//多页面切换组件对象protected slots: void onTabCurrentChanged(i原创 2021-05-04 19:30:11 · 904 阅读 · 0 评论 -
Qt47 调色板使用
学习自唐佐林老师Qt调色板实验Widget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QPushButton>#include <QLineEdit>#include <QLabel>class Widget : public QWidget{ Q_OBJECT QPushButton m_button;原创 2021-04-15 16:22:18 · 189 阅读 · 0 评论 -
Qt46 可复用查找对话框实现
学习自唐佐林老师QtFindDialog.h#ifndef _FINDDIALOG_H_#define _FINDDIALOG_H_#include <QDialog>#include <QGridLayout>#include <QHBoxLayout>#include <QLabel>#include <QLineEdit>#include <QPushButton>#include <QR原创 2021-04-15 14:53:50 · 132 阅读 · 0 评论 -
Qt45 写一个可复用的查找对话框界面
学习自唐佐林老师QtFindDialog.h#ifndef _FINDDIALOG_H_#define _FINDDIALOG_H_#include <QDialog>#include <QGridLayout>#include <QHBoxLayout>#include <QLabel>#include <QLineEdit>#include <QPushButton>#include <QRadioB原创 2021-04-15 11:18:36 · 263 阅读 · 0 评论 -
Qt44 发送自定义事件(二)
学习自唐佐林老师的QtQWidget类并没有提供鼠标双击相关的信号,所以没办法将鼠标双击信号映射到槽。此时我们又想捕捉这个鼠标双击信息,那就只能 重写 QWidget类的event()事件处理函数实验:自定义事件类 + 处理自定义事件类对象StringEvent.h#ifndef _STRINGEVENT_H_#define _STRINGEVENT_H_#include <QEvent>#include <QString>//自定义事件类 ,继承自 Q原创 2021-04-14 17:25:36 · 240 阅读 · 0 评论 -
Qt43 发送自定义事件(一)
学习自唐佐林老师的Qt实验1:发送自定义事件Widget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QPushButton>class Widget : public QWidget{ Q_OBJECT QPushButton m_pushButton; void testSendEvent(); void testPostE原创 2021-04-14 14:18:32 · 149 阅读 · 0 评论 -
Qt42 文本打印QPrintDialog + QPrinter + QTextDocument 与光标定位 textCursor()
QTextDocument * QPlainTextEdit::document () const在前面Qt 21 中有学到,打印对话框QPrintDialog类:打印对话框QPrintDialog类Qt中提供了预定义的打印对话框 QPrintDialog类,用于设置打印相关的参数信息打印对话框使用方式//构造打印对话框对象QPrintDialog dlg(this);//设置打印对话框的相关属性dlg.setWindowTitle("Print Dialog");//标题if(.原创 2021-04-13 17:57:41 · 898 阅读 · 0 评论 -
Qt 40 拖放事件深度剖析
学习自唐佐林老师Qt实验1:通过重写拖放操作的事件处理函数,得到所拖放的文件或者文件夹的路径Widget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>class Widget : public QWidget{ Q_OBJECTprotected: //重写事件处理函数 void dragEnterEvent(QDragEnterEvent* e);//拖 void dr原创 2021-04-06 12:32:29 · 252 阅读 · 0 评论 -
Qt 39 Qt中的事件处理,事件ignore以及事件过滤器
学习自唐佐林老师的Qt实验1:事件被组件对象处理后可能传递到其父组件MyLineEdit.h#ifndef MYLINEEDIT_H#define MYLINEEDIT_H#include <QLineEdit>class MyLineEdit : public QLineEdit{ Q_OBJECTpublic: explicit MyLineEdit(QWidget *parent = 0); bool event(QEvent* e);原创 2021-04-06 10:38:18 · 528 阅读 · 0 评论 -
Qt 37 - QMap 与 QHash
学习自唐佐林老师 Qt实验1 QMap使用#include <QtCore/QCoreApplication>#include <QDebug>#include <QMap>#include <QMapIterator>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); QMap<QString, int> map;原创 2021-04-02 15:11:10 · 183 阅读 · 0 评论 -
Qt 34 缓冲区操作与目录操作以及文件系统监控,QBuffer,QDir,QFileSystemWatcher
学习自唐佐林老师Qt总结:QBuffer缓冲区类使用QDir 目录类使用QFileSystemWatcher:文件系统变化监控类,用于监控目录,文件是否发生变化实验1 缓冲区的用法:#include <QtCore/QCoreApplication>#include <QBuffer>#include <QByteArray>#include <QDataStream>#include <QDebug>void w原创 2021-03-31 12:26:59 · 286 阅读 · 0 评论 -
Qt 33 文件流和数据流,QTextStream,QDataStream
学习自唐佐林老师的Qt总结:1 使用QFile类的write(),read()直接将非字节类数据写入文本文件和数据文件需要类型转换。2 QTextStream 使用:辅助类对象 ,写入辅助类对象的数据全部转换为可读文本,并用IO设备对象地址对其初始化,以指定类型读出数据3 QDataStream 使用:辅助类对象 ,写入辅助类对象的数据全部转换为二进制数据,并用IO设备对象地址对其初始化,以指定类型读出数据write()read()所操作的是对象必须是直接的字节类数据,如果直接用QF原创 2021-03-31 10:54:05 · 1115 阅读 · 0 评论 -
Qt 32 Qt中的文件操作 QFile文件, QFileInfo文件属性,QTemporaryFile临时文件
学习自唐佐林老师的Qt连续的存储空间:有可能是内存,硬盘,串口,USB口等顺序存取设备:如 连接到串口上面的设备随机存取设备:文件操作IO 操作的本质就是对连续空间的读写,该连续空间可以是内存空间,也可以是外存空间。文件是保存在外部空间中的连续数据,即硬盘,文件是保存在硬盘上面的。所以文件操作 就是对硬盘上连续空间进行数据的读写,并且可以在这片连续空间当中任意位置进行定位。 文件操作是一种随机设备的存取。QFile : 文件IOQBuffer : 内存中一片连续的内存空间QAbstrac原创 2021-03-30 15:27:20 · 626 阅读 · 0 评论 -
Qt 30 Qt中的文本编辑组件,文本编辑器:菜单栏+工具栏+状态栏+中央编辑区
学习自唐佐林老师的Qt富文本:如网页,包含文字 图片 视频 音频等实验1 三种文本编辑组件对比MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QtGui/QMainWindow>#include <QLineEdit>#include <QPlainTextEdit>#include <QTextEdit>class MainWindow : public原创 2021-03-30 10:59:48 · 376 阅读 · 0 评论 -
Qt 29 主窗口中的状态栏 模仿Windows文本编辑器界面 菜单栏+工具栏+状态栏
实验:工具栏MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QtGui/QMainWindow>class MainWindow : public QMainWindow{ Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow();};#endif // MAINWINDOW_HMainWin...原创 2021-03-29 12:59:39 · 183 阅读 · 0 评论 -
Qt 28 主窗口中的工具栏 模仿Windows文本编辑器界面 菜单栏+工具栏
如:设置菜单栏不可以悬浮setFloatable(false);设置菜单栏不可以停靠tb->setMovable(false);调整工具栏大小setIconSize(QSize(16, 16));实验1 工具栏使用:MainWindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QtGui/QMainWindow>class MainWindow : public QMainWindow{ Q.原创 2021-03-29 11:17:49 · 301 阅读 · 0 评论 -
Qt 27 应用程序中的主窗口
MainWindow.h#ifndef _MAINWINDOW_H_#define _MAINWINDOW_H_#include <QtGui/QMainWindow>#include <QKeySequence>#include <QMenuBar>#include <QAction>class MainWindow : public QMainWindow{ Q_OBJECTprivate: MainWindo...原创 2021-03-27 19:17:13 · 531 阅读 · 0 评论 -
Qt 26 布局管理器5 -布局管理器实验,实现向导用户界面及切换
Widget.h#ifndef _WIDGET_H_#define _WIDGET_H_#include <QtGui/QWidget>#include <QPushButton>#include <QLabel>#include <QLineEdit>#include <QStackedLayout>class Widget : public QWidget{ Q_OBJECTprivate: //水..原创 2021-03-27 12:14:54 · 305 阅读 · 0 评论 -
Qt 25 布局管理器4 - 栈式布局管理器QStackedLayout,QTimer计时器
应用场景:如桌面系统 安装程序 的上一步 下一步等等。嵌入式设备中的左滑 右滑等等 都是用的栈式布局管理器QStackedLayoutaddWidget() : 向布局管理器添加需要管理的组件currentWidget(): 得到当前显示在屏幕上面的组件是哪一个,即返回当前栈式布局管理器最顶层的组件setCurrentIndex(): 设置当前应该显示的组件,通过组件下标设置currentIndex() : 获取当前显示的组件下标实验:Widget.h#ifndef _WIDGET_原创 2021-03-26 12:45:51 · 423 阅读 · 0 评论 -
Qt 24 布局管理器3 - QFormLayout 表单布局管理器
setRowWrapPolicy() 设置每一行怎么排布QFormLayout::WrapAllRows 以行位单位的操作:以每一个组件为一行QFormLayout::WrapLongRows 以行位单位的操作:以每组为一行, 一般用于小屏幕的嵌入式设备QFormLayout::DontWrapRows setLabelAlignment() 设置标签对齐方式Qt::AlignRight 标签右对齐Widget.h#ifndef WIDGET_H#define WIDGET_H...原创 2021-03-26 11:18:12 · 328 阅读 · 0 评论 -
Qt 23 布局管理器2 - QBoxLayout水平垂直布局管理器 ,QGridLayout网格布局管理器,以及比例系数设置
布局管理器的比例系数1 默认情况下以等比例的方式跟新组件的大小2 可以自定义组件大小更新时的比例系数QBoxLayout 布局管理器中的比例系数QBoxLayout 布局管理器中的比例系数设置方法void QBoxLayout::setStretch ( int index, int stretch )bool QBoxLayout::setStretchFactor ( QWidget * widget, int stretch )bool QBoxLayout::setStretchFac原创 2021-03-26 10:18:40 · 970 阅读 · 0 评论 -
Qt 22 布局管理器1 - QLayout,QBoxLayout,布局管理器的相互嵌套
布局管理器提供相关的类对界面组件进行布局管理能够自动排布窗口中的界面组件窗口变化后自动更新界面组件的大小QLayoutQLayout 是Qt 中布局管理器的抽象基类通过继承QLayout实现了功能各异且互补的布局管理器Qt中可以根据需要自定义布局管理器布局管理器不是界面部件,而是界面部件的定位策略QBoxLayout 布局管理器以水平或者垂直的方式管理界面组件水平:QHBoxLayout 水平布局管理器垂直:QVBoxLayout 垂直布局管理器sizePolicy:QSize原创 2021-03-20 16:29:11 · 504 阅读 · 0 评论 -
Qt 21 标准对话框 - 选择字体对话框QFontDialog,进度对话框 QProgressDialog,打印对话框QPrintDialog
选择字体对话框QFontDialogQt 中提供了预定义的字体对话框 QFontDialog 类,用于提供选择字体的对话框部件字体对话框使用方式//构造字体对话框对象 并指定父组件QFontDialog dlg(this);//设置字体对话框的相关属性dlg.setWindowTitle("Font Editor");//标题dlg.setCurrentFont(QFont("Courier New", 10, QFont::Bold)//设置初始字体,大小为10 粗体);if(dlg原创 2021-03-20 11:10:40 · 295 阅读 · 0 评论 -
Qt 20 标准对话框 - 颜色对话框QColorDialog,输入对话框QInputDialog
颜色对话框QColorDialogQT中提供了预定义的颜色对话框 QColorDialog类QColorDialog类用于提供颜色的对话框部件颜色对话框使用://构造颜色对话框对象 并指定父窗口QColorDialog dlg(this);//设置颜色对话框的相关属性dlg.setWindowTitle("Color Editor");//设置标题dlg.setCurrenColor(Qt :: red);// 初始颜色//以模态方式打开颜色对话框if(dlg.exec() == Q原创 2021-03-19 12:01:08 · 568 阅读 · 0 评论 -
Qt 19 标准对话框 -消息对话框QMessageBox ,文件选择对话框QFileDialog
QT 为开发者提供了一些可复用的对话框类型,这些可复用对话框全部继承自 QDialog类QT中标准对话框遵循相同的使用方式:/*定义对话框对象DialogType 对话框类型this ,指定当前对话框的父窗口*/DialogType dlg(this);/* 设置对话框属性*/dlg.setPropertyXXX(value)//以模态对框框的方式来使用if(dlg.exec() == DialogType::Value){//获取对话框数据Type v = dlg.getD原创 2021-03-19 10:44:25 · 426 阅读 · 0 评论 -
QT18 - 不完善的登录对话框
框架:继承自 QDialog用户名标签+密码标签 :QLabel 标签输入用户名和密码文本框:QLineEdit 文本框点击登录,取消按钮:QPushButton按钮注意:1 强制指定对话框大小,大小不可变动:setFixeSize(num,num);2 密码输入显示*setEchoMode(QLineEdit::Password)This enum type describes how a line edit should display its contents.QLineEdi原创 2021-03-17 23:14:04 · 173 阅读 · 0 评论 -
QT17 - 对话框及其类型 QDialog
QDialog是QT中所有对话框的基类,QDialog继承于QWidget 是一种容器类型的组件,QDialog 对象 只能 必须 作为顶层的窗口而存在,不能作为子部件嵌入其他容器中,QDialog是定制了窗口样式的特殊的 QWidget。而QDialog 与 QWidget的区别也就是, QDialog 只能 作为顶层的窗口,而QWidget不是。QDialog可以创建:1 模态对话框: 阻塞式对话框,在栈上创建,显示后 无法与父窗口交互,一直位于顶层QDialog::exec() ,创建模态对原创 2021-03-16 23:19:39 · 635 阅读 · 0 评论 -
Qt第11课 - Qt 中的字符串类,QString, QLineEdit文本框接收按键字符
本文学习自 狄泰软件 唐佐林老师的 QT课程。Unicode:支持中文日文等等。。。实验1 :QString 初体验#include <QDebug>void Sample_1(){ QString s = "add"; s.append(" "); // "add " s.append("Qt"); // "add Qt"...原创 2020-04-17 14:34:58 · 1216 阅读 · 0 评论 -
Qt第10课 - 计算器界面设计,信号与槽初探
本文学习自 狄泰软件 唐佐林老师的 QT课程。实验1 初探信号与槽#include <QtGui/QApplication>#include <QPushButton>int main(int argc, char *argv[]){ QApplication a(argc, argv);//应用程序对象 QPushButton b;...原创 2020-04-17 11:00:41 · 471 阅读 · 0 评论 -
Qt第8课 - 计算器界面设计
本文学习自 狄泰软件 唐佐林老师的 QT课程,文中图片源自老师课程PPT。实验1:计算器界面要注意的问题:边开发 边查文档实验:计算器界面#include <QtGui/QApplication>#include <QWidget> //主窗口#include <QLineEdit> //文本框#include <QPushBu...原创 2020-04-12 23:10:02 · 584 阅读 · 0 评论 -
Qt第七课--Qt 中的坐标系统
本文学习自 狄泰软件学院 唐佐林老师的 QT课程,文中图片源自老师课程PPT。实验1:窗口坐标大小#include <QtGui/QApplication>#include #include #include “widget.h”int main(int argc, char *argv[]){QApplication a(argc, argv);Widget ...原创 2020-04-12 22:03:14 · 280 阅读 · 0 评论