
Qt界面基础
文章平均质量分 92
Qt界面基础
Mark_md
不想做全栈的程序猿,不是一个好硬件工程师
展开
-
QTextEdit显示中文乱码解决,中文GB2312转Unicode,QString、QByteArray 转换,16进制显示,toUtf8与toLocal8Bit区别
支持中文收发,默认GB2312编码,如需Unicode/UTF8/UTF16需要更改代码。(巨重要)https://bbs.youkuaiyun.com/topics/350007957原创 2020-11-23 10:03:09 · 6978 阅读 · 1 评论 -
QString、QByteArray 相互转换、和16进制与asc2转换
QString、QByteArray间的等效转换:QByteArray = QString.toUtf8();QString =QByteArray;QString不能直接转换为16进制,而QByteArray可以,QByteArray.toHex()asc2的QString,转换为 16进制的 QString/QByteArray :QString txtBuf = "abcABC";QString/QByteArray str1 = txtBuf.toUtf8().toH..原创 2020-10-13 15:11:12 · 1117 阅读 · 0 评论 -
【Qt教程】4.1 - Qt5 文件系统 QFile文件读写操作
文件系统是应用程序必不可少的部分。Qt作为一个通用开发库,提供了跨平台的文件操作能力。Qt通过 QIODevice 提供了对I/O设备的抽象,使这些设备具有读写字节块的能力。在所有的I/O设备中,文件I/O是最重要的部分之一。QFile提供了从文件中读取和写入数据的能力。我们通常会将文件路径作为参数传给QFile的构造函数。不过也可以在创建好对象后,使用 setFileName()来修改。QFile 主要提供了有关文件的各种操作,比如打开文件、关闭文件、刷新文件等。我们可以使用 QDataStrea原创 2020-10-05 14:02:20 · 1514 阅读 · 0 评论 -
【Qt教程】3.5 - Qt5 QPainter绘图抗锯齿、相对坐标/平移坐标系、QPainter画图片、手动调用QPainter绘图事件
GitHub源码仓库:Qt学习例程1.QPainter绘图抗锯齿/////////////////// 抗锯齿测试 ///////////////////painter.drawEllipse(QPoint(100,50), 50, 50);// 设置 抗锯齿能力,抗锯齿会让绘图效率较低painter.setRenderHint(QPainter::Antialiasing);painter.drawEllipse(QPoint(200,50), 50, 50);// 设置 抗锯齿.原创 2020-10-04 15:26:36 · 6665 阅读 · 0 评论 -
【Qt教程】3.4 - Qt5 QPainter绘图事件、绘图功能
1. QPainter绘图事件 简介Qt的绘图系统允许使用现同的API在屏幕和其他打印设备上进行绘制。整个绘图系统基于 QPainter、QPaintDevice、QPaintEngine 三个类。QPainter 用来执行绘制的操作。QPaintDevice 是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter工作的空间。QPaintEngine 提供了画笔(QPainter)在不同的设备上进行绘制的统一的接口。QPaintEngine 类应用于原创 2020-10-04 13:13:02 · 1583 阅读 · 0 评论 -
【Qt教程】3.2 - Qt5 event事件、定时器timerEvent
定时器有两种使用方式。第一种:(不常用,不灵活,没有什么控制功能)直接看代码吧第二种:(就用这个)原创 2020-10-04 10:53:53 · 647 阅读 · 0 评论 -
【Qt教程】3.1 - Qt5 event事件、Label控件的鼠标事件捕获
event简介事件(event)是由系统或者Qt本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等。另一些事件则是由系统自动发出,如计时器事件。当事件发生时,Qt将创建一个事件对象。Qt中所有的事件类都继承于QEvent。在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是按照事件对象的类型分派给特定的事件处理函数(event h原创 2020-10-04 10:31:34 · 3362 阅读 · 1 评论 -
【Qt教程】2.6 - Qt5 自定义控件封装
创建widget工程自定义控件就是新建窗口,将自定义的控件封装好。每次调用控件时,都将做好的窗口拖入。方便模块化。新建窗口:Add New...,Qt,Qt设计师界面类。模板选择空窗口Widget最后就看到两个控件窗口了。将自定义控件放入 新建的控件文件中。进行布局,调整大小。将整型微调 和 水平滑块用代码关联。在widget窗口内,调用自定义控件:拖入 widget控件,右键 - 提升为。将...原创 2020-10-04 09:47:58 · 3778 阅读 · 4 评论 -
【Qt教程】2.3 - Qt5 控件 - 按钮组(QPushButton、QToolButton、QRadioButton、QCheckBox)资源编辑器导入资源
上一讲介绍UI设计器的使用,下面来详细讲下控件的使用。布局的控件已经在上一章进行了描述,接着往下讲,按键组。图标下载网站:easyicon、Iconfont1. 添加资源的方法添加图片有两种方式:1.按路径寻址资源,用这种方式,需要在软件中指定资源路径,并且从路径中寻址。如路径改变或者不存在资源,会有错误。2.添加资源,在编译阶段就将图片等资源编译进软件中。添加资源:工程 - 右键 - Add New... - Qt -Qt Resource File...原创 2020-09-30 16:52:32 · 1251 阅读 · 0 评论 -
【Qt教程】2.2 - Qt5 布局管理器(水平、垂直、栅格布局)、弹簧、设计一个登陆界面
布局管理器看视频P251. 添加图片资源文件:工程 - 右键 - Add New... - Qt -Qt Resource File2.布局在UI中创建槽关联在UI中形成信号槽代码。右键 - 转到槽...图标下载网站:easyicon、添加新界面:工程 - 右键 - Add New... - Qt - Qt设计师界面类界面切换...原创 2020-09-30 16:07:48 · 4964 阅读 · 0 评论 -
【Qt教程】1.11 - Qt5 标准对话框QMessageBox(关于、错误、信息、警告、问题、颜色、字体、文件对话框)
所谓标准对话框,是Qt内置的一些列对话框,用于简化开发。其实是调用的系统窗口。事实上,有很多对话框都是通用的,比如打开文件、设置颜色、打印设置等。这些对话框在素有程序中几乎相同,因此没有必要在每一个程序中都自己实现这么一个对话框。Qt内置的对话框大致分为以下几类:QColorDialog:选择颜色。 QFileDialog:选择文件或者目录。 QFolderDialog:选择目录。 QFontDialog:选择字体 QMessageDialog:消息对话框、用于显示消息、询问问题等。.原创 2020-09-27 17:53:13 · 7322 阅读 · 1 评论 -
【Qt教程】2.1 - Qt5 UI设计器、常用控件
新建工程,将 .ui文件勾上。双击 .ui文件,会弹出UI设计器,其中的布局大概为:其中UI界面的信号槽只能使用系统事件,不能使用自定义信号与槽。所以主要有用户代码来完成。拖入一个 Push Button控件,对属性进行编辑,添加信号与槽显现:点击 "close" 按键,窗口关闭。点击工具栏中的 "文件",有菜单项。常用控件分类:...原创 2020-09-25 09:29:57 · 5463 阅读 · 0 评论 -
【Qt教程】1.10 - Qt5模态与非模态对话框( QDialog)
对话框通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。对话框分为模态对话框和非模态对话框:模态对话框,会阻塞同一应用程序中其他窗口的输入。非模态对话框,可以在显示的同时,也能对其他窗口进行操作。...原创 2020-09-23 16:15:01 · 942 阅读 · 0 评论 -
【Qt教程】1.9 - Qt5菜单栏、工具栏、状态栏、核心窗口、浮动窗口、QMainWindow
1. 窗口应用布局样式及组成PC端软件,最基本的一个窗口应用布局样式,如下:大体可分为菜单栏、工具栏、状态栏、核心窗口、浮动窗口,使用时按需相互组合。2. Qt中调用这些控件1)新建一个工程:使用QMainWindow类。2)例程源码:(具体使用方法在注释里)mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#inclu...原创 2020-09-23 09:52:59 · 1207 阅读 · 0 评论 -
【Qt教程】1.8 - Qt5-Lambda表达式
Lambda表达式是C++11增加的新特性,Qt配合信号一起使用,非常方便。Qt使用Lambda表达式,需要在 .pro项目文件中:CONFIG += c++11(我的Qt5.12.9,刚创建好的工程中会自动加入,不需要手动添加)= :把外部所有局部变量、类中所有成员以值传递方式传参日常使用,只需要会=这一种方式即可:[=](){ }示例:使用Lambda表达式,使信号关联一个事件,点击按钮,让按钮文字变化。widget.h#ifndef WID...原创 2020-09-22 16:55:10 · 666 阅读 · 0 评论 -
【Qt教程】1.7 - Qt5带参数的信号、信号重载、带参数的槽函数、槽函数重载
带参数的信号信号可以重载。编译其他人的工程编译不过的解决方法:删除.user文件(工程配置文件),或者修改路径。.ui界面文件。原创 2020-09-22 13:44:38 · 5009 阅读 · 2 评论 -
【Qt教程】1.6 - Qt5信号与槽、Single Slot emit、自定义信号、自定义槽
1原创 2020-09-21 18:56:14 · 1481 阅读 · 2 评论 -
【Qt教程】1.5 - Qt5内存回收机制-对象树、窗口坐标系
1、Qt内存回收机制 - 对象树(做了解,懂就可以,示例看视频)当创建的对象在堆区时,如果指定的父亲是 QObject派生下来的类 或者 QObject子类派生下来的类,可以不用管理释放的操作,对象会放入到对象树中。(当父对象析构时,这个列表中的所有对象都会被释放。) 一定程度上简化了内存回收机制。优点:不用程序员手动进行内存释放操作,Qt会自动释放,用户可随意在堆区创建对象,而不用担心内存。2、窗口坐标系子窗口的坐标系统是相对于父窗口。原点位置:(0, 0) 点为窗口..原创 2020-09-21 11:34:25 · 433 阅读 · 0 评论 -
【Qt教程】1.4 - Qt5第一个控件 按钮QPushButton 指定父对象
b原创 2020-09-21 10:56:35 · 2089 阅读 · 0 评论 -
【Qt教程】1.2 - Qt5 新建工程
一、新建工程Qt安装好后,来新建一个工程,正式开始学习Qt图形化。STEP1:点击 " Projects ",之后点击 " +New "。STEP2:项目选择 " Application (Qt) "," Qt Widgets Application",之后点击 " Choose "。STEP3:输入项目名称,选择项目路径,不要有中文,点击 " 下一步 "。STEP4:默认qmake(编译工具),点击 " 下一步 "。。STEP5:Ba...原创 2020-09-16 19:05:37 · 744 阅读 · 0 评论 -
【Qt教程】1.3 - Qt5 工程文件的功能解读、快捷键
Qt快捷键// 注释:ctrl + /// 运行:ctrl + r// 编译:ctrl + b// 字体缩放:ctrl + 鼠标滚轮// 查找:ctrl + f// 整行移动:ctrl + shift + ↑ 或者↓// 帮助文档:F1,两次F1会全屏,ESC返回编辑界面// 自动对齐:ctrl + i// 同名之间的 .h 和 .cpp切换:F4// 命名规范// 类名:首字母大写,单词和单词之间首字母大写// 函数名、变量名称:首字母小写,单词和单词之间首字母大写/.原创 2020-09-16 19:09:59 · 297 阅读 · 0 评论 -
【Qt教程】1.1 - Qt5.12.9 安装
Qt官网下载地址:Qt下载选择版本5.12,点击 .exe下载。下载好后双击安装。点击 NEXT下一步。登陆自己的Qt账号。或者设置 - 无代理。点击 NEXT下一步。将两个选项框勾选,点击 NEXT下一步。点击 NEXT下一步。选择安装路径,点击 NEXT下一步。勾选组件。其中MinGW是必选的,为Qt内置的编译组件,用这个的比较多。根据自己电脑的系统选择安装位数。MSVC(Micro Soft Visual...原创 2020-09-16 16:33:35 · 15227 阅读 · 4 评论