Qt
骆驼胡杨
这个作者很懒,什么都没留下…
展开
-
Qt事件过滤
新建桌面应用程序testEventFilter,类名EventFilter,基类QDialog,不勾选界面文件,通过监视三个图片标签的事件达到鼠标按下时图片放大(缩小)的效果。Eventfilter.h重写事件过滤槽函数,并添加相应的成员数据。原创 2022-09-07 18:21:11 · 342 阅读 · 0 评论 -
Qt键盘事件
【代码】Qt键盘事件。原创 2022-09-03 22:07:08 · 1018 阅读 · 0 评论 -
Qt鼠标事件
通过重写鼠标事件达到跟踪鼠标位置的效果原创 2022-09-01 21:56:10 · 1487 阅读 · 0 评论 -
QPalette调色板
新建桌面应用程序testQPalette,类名Dialog,基类QDialog,窗口左侧为控制区,右侧为调色板效果区。原创 2022-08-31 22:58:15 · 275 阅读 · 0 评论 -
Qt设置不规则窗体(Mask)
【代码】Qt设置不规则窗体(Mask)原创 2022-08-29 11:28:00 · 248 阅读 · 0 评论 -
Qt设置部件透明及阴影效果
【代码】Qt设置部件透明及阴影效果。原创 2022-08-28 23:28:43 · 1053 阅读 · 0 评论 -
Qt样式表
Qt样式表是一个可以自定义部件外观的强大机制,样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上,也可以使用QWidget::setStyleSheet()将其设置到指定的部件或子部件上,不同级别均可设置样式表,称为样式表的层叠。样式表也可通过设计模式编辑样式表。...原创 2022-08-28 21:02:11 · 445 阅读 · 0 评论 -
设置QLineEidt部件输入时自动切换到英文输入法(无法输入中文)
只需设置一下LineEdit部件属性即可。在输入密码时会通过输入法显示密码。原创 2022-08-26 10:54:47 · 1708 阅读 · 3 评论 -
在VS2017中使用Qt的ui界面添加控件后在cpp源文件中无法调用解决方法
在VS2017中使用Qt的ui界面添加控件后在cpp源文件中无法调用解决方法原创 2022-08-25 09:27:39 · 1005 阅读 · 0 评论 -
Qt - MVC模型/视图编程
MVC模型/视图编程Qt中的模型/视图架构用来实现大量的数据存储、处理及显示。MVC(Model-View-Controller)包括了3个组件:模型(Model)是应用对象,用来表示数据;视图(View)是模型的用户界面,用来显示数据;控制(Controller)定义了用户界面对用户输入的反应方式。委托(Delegate)用于定制数据的渲染和编辑方式。1. 模型所有的模型都基于QAbstractItemModel类,该类提供了十分灵活的接口来处理各种视图,这些视图可以将数据的表现形原创 2022-05-04 21:13:06 · 826 阅读 · 0 评论 -
Qt富文本 - 文件拖拽和打开
文件拖拽和打开新建桌面应用程序testDragFile,基类QMainWindow,勾选创建界面文件界面中添加textEdit部件,点击主窗口,Ctrl + G使textEdit为中心部件Mainwindow.h添加拖拽事件声明mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow :原创 2022-04-28 11:03:02 · 385 阅读 · 0 评论 -
Qt制作一个简单的电子时钟
电子时钟新建桌面应用程序,项目名LCDClock,类名Clock,基类QDialog,取消产生界面文件当前项目添加C++类DigitalClock,基类QLCDNumber编辑digitalclock.h文件clock.h#ifndef CLOCK_H#define CLOCK_H#include <QDialog>class Clock : public QDialog { Q_OBJECTpublic: Clock(QWidget *parent = 0);原创 2022-04-28 10:06:46 · 1082 阅读 · 0 评论 -
Qt富文本 - 语法高亮
语法高亮右键点击项目名testRichText,添加C++类,类名MySyntaxHighlighter,父类QSyntaxHighlighter编辑MySyntaxHighlighter.h头文件mysyntaxhighlighter.h#ifndef MYSYNTAXHIGHLIGHTER_H#define MYSYNTAXHIGHLIGHTER_H#include <QSyntaxHighlighter>class MySyntaxHighlighter : publ原创 2022-04-27 11:31:43 · 757 阅读 · 0 评论 -
Qt富文本 - 插入表格/列表/图片
插入表格/列表/图片新建桌面应用程序testRichText,基类QMainWindow,勾选创建界面文件,其他选择默认。编辑mainwindow.cpp构造函数mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECT原创 2022-04-27 07:56:50 · 1823 阅读 · 0 评论 -
Qt富文本 - 文本块
文本框格式、文本块格式、字符格式原创 2022-04-24 20:54:05 · 304 阅读 · 0 评论 -
Qt富文本 - 文档边框格式
自定义菜单栏需继承自QWidgetAction.新建桌面应用程序testQMenuCustom,基类QMainWindow,勾选创建界面文件,其他选项默认。当前项目添加C++类MyAction,继承自QWidgetAction,编辑myaction.h文件mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow原创 2022-04-22 21:44:04 · 1110 阅读 · 0 评论 -
Qt的菜单栏、工具栏、状态栏
Qt的菜单栏、工具栏、状态栏新建QMainWindow主窗口项目#include "mainwindow.h"#include "ui_mainwindow.h"#include <QToolButton>#include <QSpinBox>#include <QLabel>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){原创 2022-04-22 10:39:19 · 631 阅读 · 0 评论 -
qDebug()打印调试信息
qDebug()打印调试信息, 控制台应用程序将打印到控制台。#include <QDebug> int num = 255; qDebug("十进制: %d", num); //十进制输出 qDebug("八进制: %o", num); //八进制输出 qDebug("十六进制: %x",num); //十六进制输出 qreal PI = 3.14; qDebug("圆周率: %f", PI); //浮点数输出原创 2022-04-21 15:21:21 · 2664 阅读 · 0 评论 -
QFileInfo文件信息
QFileInfo文件信息QFileInfo类获取文件信息示例:新建桌面应用程序,基类QWidget,类名FileInfo,勾选创建界面文件设计模式下设计界面fileinfo.h#ifndef FILEINFO_H#define FILEINFO_H#include <QWidget>namespace Ui { class FileInfo; }class FileInfo : public QWidget{ Q_OBJECTpublic: expl原创 2022-04-05 23:36:45 · 618 阅读 · 0 评论 -
QFile文件处理
QFile文件处理QFile类用于文件操作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类。处理临时文件可以使用QTemporaryFile,获取信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher.QTextStream的流操作符QFile QTextStream操作文件示例:新建控制台引用程序,编辑main函数,main原创 2022-04-05 21:38:37 · 1810 阅读 · 0 评论 -
Qt正则表达式
正则表达式正则表达式即一个文本匹配字符串的一种模式,Qt中QRegExp类实现使用正则表达式进行模式匹配,且完全支持Unicode,主要应用:字符串验证、搜索、查找替换、分割。正则表达式中字符及字符集正则表达式中的量词正则表达式中的断言QRegExp同时支持通配符新建控制台应用程序,项目名QRegExp编辑main.cpp文件在这里插入代码片...原创 2022-04-04 22:18:12 · 5576 阅读 · 1 评论 -
Qt标准对话框
标准对话框新建桌面应用程序,项目名testStandardDialogs,类名Dialog,基类QDialog,不勾选创建界面文件。原创 2022-04-01 22:12:56 · 1163 阅读 · 0 评论 -
QVariant类
QVariant 容器QVariant类是Qt的共用体union数据类型,不仅能保存很多Qt类型的值,包括QColor,QBrush,QFont,QRect,QString及QSize等等,而且能存放Qt的容器类型值。可采用toT()将QVariant对象转换称为T类型并获取其值。如toInt(),toFloat(),toString(),可用type方法获取数据类型,判断数据是否可。对于GUI模块中定义的数据类型没有相应的转换函数,即没有toColor(),没有toImage()这样的函数提供,可通原创 2022-03-29 21:48:20 · 1430 阅读 · 0 评论 -
QMap 和 QHash容器
QMap类、 QHash类QMap与QHash差别:①QHash比QMap查找速度更快。②QHash以任意顺序存储,QMap以Key顺序存储数据。③QHash的Key必须提供operator==()及一个全局的qHash(Key)函数,而QMap的Key必须提供operator<()函数。存储一键多值数据时可使用QMultiMap<Key,T>容器或QMultiHash<Key,T>容器。Java风格迭代器STL风格迭代器//定义一个Map容原创 2022-03-29 17:21:56 · 2378 阅读 · 0 评论 -
QVector 容器
QVector 容器QVector在相邻的内存中存储给定数据类型T的一组数据。在QVector前部或中间位置插入操作速度都很慢,因会导致内存中大量的数据移动。访问数据可使用下标,也可使用迭代器。继承自QVector类的子类有QPolygon、QPolygonF、QStack。//定义一个vector容器 QVector<QString> vStarts;//添加元素 vStarts << "张三"; vStarts << "李四";原创 2022-03-28 19:42:24 · 534 阅读 · 0 评论 -
QList容器和 QLinkedList容器
QList容器 和 QLinkedList容器QList< T>是最常用的容器类。QList以列表形态存储并管理数据,并能进行基于快速索引的访问,也可以进行快速的数据删除操作。继承自QList类的子类有QItemSelection、QQueue、QStringList、QTestEventList.可用运算符<< 、append()、prepend()进行添加元素,insert()进行插入。QList< T>维护了一个指针数组,数组元素指向每一个链表项,因此QLis原创 2022-03-28 00:00:06 · 1963 阅读 · 0 评论 -
QStringList 常用方法
QStringList类在这里插入代码片原创 2022-03-27 11:04:53 · 8246 阅读 · 0 评论 -
QString
QString 类隐式共享:隐式数据共享机制去最大化资源有效利用和最小化复制克隆操作。隐式共享类当作为函数参数传递的时候,不仅安全而且效率很高,因为传递的时候只是传递的数据的指针,数据本身只当自己被修改的时候才会去复制。简称写时复制。数据相同时,执行浅拷贝,仅复制指向数据块的指针,数据不同时则执行深拷贝。隐式共享技术可以大大降低对内存的开销及CPU资源的消耗,很大程度提高应用程序的运行效率。QString类保存了16位的Unicode值,Unicode把所有语言都统一到一套编码里,Unicode提供U原创 2022-03-26 22:52:31 · 309 阅读 · 0 评论 -
Qt布局管理器
布局管理器利用布局管理器做出如下界面效果(标签与输入框设置伙伴关系):新建桌面应用程序,项目名TestLayout,基类QWidget,类名Widget,不勾选创建界面。原创 2022-03-24 16:54:01 · 138 阅读 · 0 评论 -
Qt常用小部件
常用小部件 QLabel常用来显示文本、数字、图片、gif动图。新建桌面应用程序,项目名testQLabel,基类QWidget,类名Widget,勾选创建界面文件。类构造函数中添加如下代码(准备好一个图片及gif格式动图): ui->setupUi(this); ui->textLabel->setText("Label文本显示"); //显示文字 ui->numLabel->setNum(3.1415926);原创 2022-03-23 15:44:54 · 604 阅读 · 0 评论 -
Qt部件基类QDialog
部件基类QDialogQDialog是各种对话框的基类,其继承自QWidget,对话框有两种表现形式:模态对话框、非模态对话框。模态对话框就是阻塞同一应用程序中其它可视窗口的输入的对话框。用户必须完成当前对话框中的交互操作并且关闭窗口后才能操作应用程序中的其它窗口。模式对话框有它们自己的本地事件循环。exec()方法可使窗口以模态方式运行。当用户关闭这个对话框,exec()将提供一个可用的返回值并且这时流程控制继续从调用exec()的地方进行。通常,我们连接默认按钮,例如“OK”到accept()槽并原创 2022-03-22 11:13:08 · 350 阅读 · 0 评论 -
Qt部件基类QWidget
1.默认部件基类QT提供的默认部件基类包括QMainWindow、QWidget、和QDialog这三种,这三个部件基类也是用的最多的。QMainWindow是带有菜单栏、工具栏、状态栏的主窗口类,它有自己单独的布局。布局有一个中心区域,通常是标准的Qt部件,也可以是定制部件,且必须有一个中心小部件。setCentralWidget()方法可设置中心部件。QWidget类是所有部件对象的基类,被称为基础窗口部件,继承关系详看QWidget类关系图。QWidget提供自我绘制和处理用户输入原创 2022-03-21 21:29:45 · 1296 阅读 · 0 评论 -
Qt对象树
对象数Qt提供了对象树机制,能够自动、有效的组织和管理继承自QObject的Qt对象。每个继承自QObject类的对象通过它的对象链表(QObjectList)来管理子类对象,当用户创建一个子对象时,其对象链表相应更新子类对象信息,对象链表可通过children()获取。当父对象析构的时候,其对象链表中的所有(子)对象也会被析构,父对象会自动将其从父对象列表中删除。Qt 保证没有对象会被 delete 两次。开发中手动回收资源时建议使用deleteLater代替delete,因deleteLater原创 2022-03-20 20:24:40 · 1418 阅读 · 1 评论 -
Qt动态属性
动态属性在标准C++中,为了保证封装性,我们经常声明一个私有变量,然后声明两个公有函数,即set函数和get函数。在Qt中我们可以使用宏Q_PROPERTY()宏来实现这些。一个属性可以使用常规函数QObject::property()和QObject::setProperty()进行读写,不用知道属性所在类的任何细节,除了属性的名字。Q_PROPERTY()原型:Q_PROPERTY(type name (READ getFunction [WRITE setFunction] |原创 2022-03-19 23:02:20 · 1167 阅读 · 0 评论 -
Qt信号与槽
信号与槽GUI用户界面中,当用户操作一个窗口部件时,需要其他窗口部件响应,传统方式经常使用callback(回调机制)来实现。所谓回调即事先将函数指针作为参数传递另一个函数,然后在函数处理过程中适当地方调用回调函数回调机制有两个缺陷:类型不安全,不能保证调用函数过程中使用正确的参数;强耦合,处理函数必须知道调用哪个回调函数。Qt的信号与槽机制是类型安全的,松耦合,更灵活,更方便。信号与槽(Signal & Slot)是 Qt 编程的基础,也是 Qt 的一大创新。因为有了信号与槽的编程机制,在原创 2022-03-19 15:28:52 · 1641 阅读 · 0 评论 -
Qt元对象系统
元对象系统元对象系统是一个基于标准C++的扩展,为Qt提供了信号与槽机制、实时类型信息、动态属性系统。元对象系统的三个基本条件:类必须继承自QObject、类声明Q_OBJECT宏(默认私有有)、元对象编译器moc。信号和槽机制是 QT 的核心机制,信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,信号和槽是QT自行定义的一种通信机制,它独立于标准的 C/C++ 语言,要正确的处理信号和槽,必须借助一个称为 moc(Meta-Object Compiler),也就是“元对象编译器”。原创 2022-03-19 10:07:55 · 1886 阅读 · 0 评论 -
Qt项目使用NSIS工具打包发布
1. 安装NSIS工具在将要发布的文件夹中添加程序安装图标、卸载图标及License.txt文件.如下图注意生成图标时候像素选择大点,如256*256。License.txt文件内容可自行定义。安装NSIS双击运行nsis_setup.exe文件。...原创 2022-03-17 21:11:00 · 723 阅读 · 0 评论 -
Qt项目发布
1. 设置应用程序图标准备好自己的图标 login.ico 文件,ExamSys.pro文件中添加如下一行的代码编译运行即可。注意:直接将xxx.jpg或xxx.png后缀改为xxx.ico是不能将图片转为图标的。在线转icon网址:https://app.xunjiepdf.com/img2icon/手动发布文件清单:ExamSys.exeaccount.txt、exam.txtQt5Core.dll、Qt5Gui.dll、Qt5Widgets.dlllibstdc+±6.dll、原创 2022-03-17 14:07:57 · 456 阅读 · 0 评论 -
Qt 5.9.6 下载及安装
1. 下载并安装 Qt 5.9.6官网下载地址: http://download.qt.io/archive/qt/5.9/5.9.6/qt-opensource-windows-x86-5.9.6.exe下载后安装,安装路径不能有中文字符及空格,安装组件选择的时候勾选如下图。如在C盘建立一个文件夹名Qt,安装时选择此文件夹Qt,安装完成后文件夹为:C:\Qt\Qt5.9.6 如图2. 设置QtCreator编译路径打开QtCreator, 点击菜单栏的工具选项,工具->选项-&原创 2022-03-13 09:46:01 · 5197 阅读 · 0 评论 -
Qt项目自动添加需要的动态库
添加环境变量1.点击Path,点击编辑2.点击新建, 点击浏览找到Qt安装目录:C:\Qt\Qt5.14.2\5.14.2\mingw73_32\bin,确定就行了进入命令提示符输入cd Qt安装目录, 回车进入目录进入要发布的的文件目录下 cd /d C:\Users\23238\Desktop\Exam输入windeployqt 发布的.exe程序名字添加好动态库后运行程序...原创 2021-09-13 23:11:13 · 419 阅读 · 0 评论