GUI
文章平均质量分 82
本专栏主要介绍QT5、EMWIN等GUI应用程序的开发
PuddingHouChou
本人目前仍在本科就读大三自动化专业,从大一接触电子学习,参加过19年全国大学生电子设计竞赛,获得国家一等奖;其余获得一些省级一等奖等其他奖项,国家级大创立项等等,在校期间担任实验室负责人,由于学业繁忙,除了专注于理论知识外,就会泡在实验室做项目,希望有好东西和知识可以在CSDN上和大家进行分享交流。
展开
-
STM32MP157嵌入式开发—4、QT应用开发(1):Helloworld
第一部分我们已经把PC端Ubuntu系统和ARM端debian系统的qt开发环境均搭建完成,下面就可以进行qt应用开发了。1、文件移植:将第三节最后编译好的arm-qt可执行文件移植到MP157板卡的emmc2、进行GRBL控制软件Candle的编译与运行**一、文件移植1、开发板通过 scp 指令移植文件硬件准备:STM32MP157开发板(带以太网接口)路由器或交换机(若没有的话可以开发板直连主机)网线1.1开发板与 ubuntu 在同一路由器下拷贝文件1.1.1网络配置在路原创 2021-01-25 18:57:58 · 2199 阅读 · 0 评论 -
Hexo搭建个人博客:01、Hexo的安装
0、什么是Hexo?Hexo 是一个基于nodejs 的静态博客网站生成器,作者是来自台湾的 Tommy Chen。具有以下特点:不可思议的快速 ─ 只要一眨眼静态文件即生成完成支持 Markdown仅需一道指令即可部署到 GitHub Pages 和 Heroku已移植 Octopress 插件高扩展性、自订性兼容于 Windows, Mac & LinuxHexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。1、安装原创 2020-07-01 22:33:11 · 244 阅读 · 0 评论 -
QT5开发||15、QT网络初步开发
前言上节编程所使用的QUdpSocket、QTcpSocket和QTepServer类都是网络传输层上的类,它们封装实现的是低层的网络进程通信(Socket通信)的功能。一、Qt网络应用开发1、Qt网络应用开发则是要在网络传输层基础上进一步实现应用型的协议功能。应用层的网络协议(如HTTP/FTP/SMTP等)简称“应用协议”,它们运行在TCP/UDP之上,如图下图所示。Qt 4以前的版本提供QHttp类用于构建HTTP客户端,提供QFtp类用于FTP客户端的开发。从Qt 5开始,已不再分别提原创 2020-06-30 23:00:47 · 709 阅读 · 0 评论 -
QT5开发||14、QT5网络与通信
在应用程序开发中网络编程非常重要,目前互联网通行的TCP/IP协议,自上而下分为应用层、传输层、网际层和网络接口层这四层。实际编写网络应用程序时只使用到传输层和应用层,所涉及的协议主要包括UDP、TCP、FTP和HTTP等。虽然目前主流的操作系统(Windows.Linux等)都提供了统一的套接字(Socket)抽象编程接口(API), 用于编写不同层次的网络程序,但是这种方式比较烦琐,甚至有时需要引用底层操作系统的相关数据结构,而Qt提供的网络模块QtNetwork,圆满地解决了这- -问题。原创 2020-06-30 21:34:37 · 505 阅读 · 0 评论 -
QT5开发||13、QT5读写文件
摘要Qt提供了QFile类用于进行文件操作。QFile 类提供了读写文件的接口,可以读写文本文件、二进制文件和Qt的资源文件。处理文本文件和二进制文件,可以使用QTextStream类和QDataStream类;处理临时文件可以使用QTemporaryFile,获取文件信息可以使用QFileInfo;处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatcher。一、读写文本文件读写文本文件的方法通常有两种:一种是直接利用传统的QFile类方法;另一种是利用更为方原创 2020-06-30 11:28:06 · 639 阅读 · 0 评论 -
QT5开发||12、QT5模型/视图结构
摘要MVC设计模式是起源于Smalltalk的一种与用户界面相关的设计模式。通过使用此模型,可以有效地分离数据和用户界面。MVC设计模式包括三个元素,表示数据的模型(Model)、表示用户界面的视图(View) 和定义了用户在界面上的操作控制(Controller)。与MVC设计模式类似,Qt引入了模型/视图结构用于完成数据与界面的分离,即InterView框架。*但不同的是,Qt的InterView框架中把视图和控制部件结合在一起,使得框架更为简洁。为了灵活地处理用户输入,InterView框架引原创 2020-06-30 10:16:06 · 375 阅读 · 0 评论 -
QT5开发||11、QT5主窗口(2):图像、文本操作
前言上节主要介绍了Qt5主窗口的各个要素,包含一个菜单栏(menubar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一 个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础。并通过文件的常用操作和案例进行了分析,文件的基本操作包括新建文件、打开文件、打印文件等。本节主要来讲解Qt5图像变换和文本的一些操作。一、Qt5图像坐标变换1、缩放功能(1) 在头文件中添加“protected slots:” 变量:void原创 2020-06-29 17:25:49 · 385 阅读 · 0 评论 -
QT5开发||10、QT5主窗口(1):文件操作
一、QT5主窗体构成1、基本元素QMainWindow是一个为用户提供主窗口程序的类。包含一个菜单栏(menubar)、多个工具栏(tool bars)、多 个锚接部件(dock widgets)、一 个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础。如文本编辑器、图片编辑器等。其界面布局如下图。2、典型案例:文本编辑器(1)、首先,介绍文件操作功能,包括新建一个文件,利用标准文件对话框QFileDialog类打开一个已存在的文件,利用QFile原创 2020-06-29 15:44:32 · 446 阅读 · 1 评论 -
解决方案:QT使用MSVC编译时,出现常量中有换行符 语法错误:缺少 等问题
遇到问题:1、Qt 遇到语法错误常量中有换行符;2、语法错误:缺少")"2、编译出的程序中文乱码。这是编译器问题导致,正常Qt本身MinGW不会出现该问题,MSVC则会出现,解决方法如下:解决方案:1、进入工具-选项-文本编辑器设置,将文件编码默认编码改为:UIF-8,UIF-8BOM:如果编码是UTF-8则添加。如下图所示:2、在用到中文字符的头文件和源文件添加以下语句:#if _MSC_VER >=1600 // MSVC2015>1899,对于MSVC2010以原创 2020-06-28 12:17:00 · 2244 阅读 · 0 评论 -
QT5开发||09、QT5布局管理
摘要:所谓 GUI 界面,归根结底,就是一堆组件的叠加。我们创建一个窗口,把按钮放上面,把图标放上面,这样就成了一个界面。在放置时,组件的位置尤其重要。我们必须要指定组件放在哪里,以便窗口能够按照我们需要的方式进行渲染。这就涉及到组件定位的机制。Qt 提供了两种组件定位机制:绝对定位和布局定位。针对这种变化的需求,Qt 提供了另外的一种机制—布局—来解决这个问题。你只要把组件放入某一种布局,布局由专门的布局管理器进行管理。布局管理是对Qt主窗体MainWindow和其他窗口的布局。下面主要介绍几种原创 2020-06-28 11:28:32 · 438 阅读 · 0 评论 -
QT5开发||08、UI Deigner的各种组件
二摘要QT Creator的ui designer中的常见组件,QT的组件分为布局管理类(Layouts)、空间间隔类(Spacers)、按钮类(Buttons)、项目视图组(Item Views)、项目控件组(Item Widgets)、容器类(Containers)、输入窗口部件(Input Widgets)、显示窗口部件(Display Widgets)。一、UI组件图示。1、布局管理类(Layouts)2、空间间隔类(Spacers)3、按钮类(Buttons)4、容器类(Cont原创 2020-06-27 17:04:35 · 584 阅读 · 0 评论 -
QT5开发||07、QT5常见类(2)—容器类
常见容器类在开发一个较高性能需求的应用程序时,程序员会比较关注这些容器类的运行效率,表2.1列出了QList、QLinkedList和QVector容器 的时间复杂度比较。容器类查找插入头部添加尾部添加QListO(1)O(n)Amort.O(1)Amort.O(1)QLinkedListO(n)O(1)O(1)O(1)QVectorO(1)O(n)O(n)Amort.O(1)一、QList类、 QLinkedList 类和QVect原创 2020-06-27 15:15:41 · 342 阅读 · 0 评论 -
QT5开发||06、QT5常见类(1)—字符串类
一、字符串类1、操作字符串字符串有如下几个操作符。(1) QString提供了一个二元的“+” 操作符用于组合两个字符串,并提供了一个“+=” 操作符用于将一个字符串追加到另一个字符串的末尾,例如:QString str1 = "Welcome ";str1=str1+"to you! ";//str1=" Welcome to you!”QString str2="Hello, ";str2+="World! ";//str2="Hello,World!”(2) QString::a原创 2020-06-27 13:40:30 · 349 阅读 · 0 评论 -
QT5开发||05、GUI应用程序基础(2)
在上一节,通过一个简单的应用程序,分析了Qt创建的GUI应用程序中各个文件的作用,剖析了可视化设计的UI文件是如何被转换为C++的类定义,并自动创建界面的。这些是使用QtCreator可视化设计用户界面,并使各个部分融合起来运行的基本原理。本节再以一个稍微复杂的例子来讲解设计GUI的常见功能,包括界面设计时布局的管理,程序里如何访问界面组件,以及Qt关键的信号与槽的概念。...原创 2020-06-26 18:18:25 · 280 阅读 · 0 评论 -
QT5开发||04、GUI应用程序基础(1)
前言上一章通过一个“Hello World”实例,演示了在Qt Creator里创建应用程序、设计窗体界面、编译和运行程序的主要功能。本节将继续深入地介绍QtCreator设计GUI应用程序的基本方法。1、Qt创建的应用程序项目的基本组织结构;2、可视化设计的UI界面文件的原理和运行机制;3、信号与槽的使用方法;4、窗体可视化设计的底层原理;5、应用程序的窗体、组件布局、菜单、工具栏、Actions等常见设计元素的使用方法。一、UI文件设计与运行机制1、项目组成文件在Qt Creato原创 2020-06-25 21:42:07 · 630 阅读 · 0 评论 -
QT5开发||03、第一个QT程序:HelloWorld的实现
摘要学习一种编程语言或编程环境,通常会先编写一个“Hello World"程序。我们也用Qt Creator编写一个“Hello World"程序,以初步了解Qt Creator设计应用程序的基本过程,对使用Qt Creator编写QtC++应用程序建立初步的了解。原创 2020-06-25 17:30:20 · 1172 阅读 · 0 评论 -
QT5开发||02、Qt Creator的下载与安装
前言Qt Creator 是全新的跨平台Qt IDE, 可单独使用, 也可与 Qt 库和开发工具组成 一套完整的SDK。其中包括: 高级C++ 代码编辑器, 项目和生成管理工具, 集成的上下文相关的帮助系统, 图形化调试器, 代码管理和浏览工具。我们这里讲述 windows 下的 Qt Creator,在 Linux 下基本相同。本文先讲述基本的下载、安装和最简单程序的编写。一、下载Qt安装包首先到 Qt 的官方网站上下载 Qt Creator,这里我们下载 windows 版的。下载地址:原创 2020-06-25 15:21:19 · 641 阅读 · 0 评论 -
QT5开发||01、灵魂三问:什么是QT?为什么要使用QT? 如何使用QT?
前言之前我们对GUI的概念和用途进行了理解和使用,对命令行应用程序和图形界面GUI应用程序进行了对比和使用场景的分析。现在我们开始步入QT的大门,来理解QT是什么?使用QT的优缺点,以及如何使用QT?一、QT是什么?1、GUI角度Qt 是一个跨平台的 C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展, 并且允许真正的组件编程。Qt也是一个跨平台应用程序和 UI 开发框架。 使用 Qt只需一次性开发应用程序, 无须重新编写源代原创 2020-06-25 14:50:24 · 7953 阅读 · 1 评论 -
QT5开发——GUI程序原理分析
一、命令行应用程序1、命令行应用程序的特点:是一种基于顺序执行结构的可执行程序;程序执行过程中不需要与用户产生交互;程序执行结束后给出最终的运行结果。比如:gcc a.c b.c //使用gcc交互编译链对C语言文件进行编译,链接成可执行文件。编译执行命令行应用程序过程中不会产生用户交互,编译结束后会生成可执行文件。2、命令行应用成熟的运行模式程序的运行有固定的开始和固定的结束。程序的入口即为在命令行中敲击的命令,也就是在我们常说的Shell,用户与操作系统内核之间进行交互的原创 2020-05-30 09:14:18 · 621 阅读 · 0 评论