Qt
量子孤岛
90后嵌入式工程师,喜欢写作、读书。希望通过文字和大家共同进步!
展开
-
Qt调用串口控制步进电机
1.环境配置 Qt5中有一个QSerialPort类,使用它我们就可以方便的进行串口通信。 要使用QSerialPort,首先要在pro文件中添加QT += serialport这句话的作用是让Qt加载串口库函数然后还要在使用串口的文件中添加头文件#include <QtSerialPort/QSerialPort> //QSeri...原创 2018-08-14 18:15:10 · 4010 阅读 · 2 评论 -
Qt实践项目打地鼠之----背景布局(二)[附GitHub项目下载地址]
本项目的下载地址:戳此访问上文中我们将一个图元封装在场景中进而显示在GraphicsView的容器中.这一个节我们继续操作完成16张背景图的布局.首先说明一下坐标系统,图元的显示默认是中心的对角线位置,只有当图元的摆放位置超过场景大小时,坐标才会从左上角初始化位置.添加第二个图元操作(图片像素为91*91)#include "myscene.h"myScene::myScen...原创 2018-08-24 13:53:27 · 1359 阅读 · 0 评论 -
Qt之改变窗口背景图片
基类为Widget的窗口使用加载资源然后右键单击改变样式表改变的背景图片的方式并不好用,原因setStyleSheet()该函数只能用于设置有父窗口的子窗口的背景!如果一个窗口没有子窗口,则无法使用该函数来设置背景颜色或图片!基类是Dialog和Mainwindow的这样做没问题,但是Widget不行方法便是将paintEvent事件重写,如下:void Widget::paintE...原创 2018-09-19 08:24:11 · 1455 阅读 · 0 评论 -
Qt实践项目打地鼠之----单例模式与自定义信号(终结篇)[附GitHub项目下载地址]
本项目的下载地址:戳此访问这一篇实现数码管的显示,鼠标的图标的改变和一种新的设计模式--单例模式.这个终极篇拖了好久,着实惭愧.今夜是中秋佳节,所以今夜我就对这个打地鼠的小游戏做一个了断吧.先介绍到单例模式.所为单例模式就是C++编程的一个小技巧,它是全局变量的替代品.即我们定义一个类,使得这个类只能获得一个对象,#ifndef HANDLER_H#define HANDL...原创 2018-09-24 23:18:09 · 1840 阅读 · 0 评论 -
Qt概述
1.1 什么是QtQt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。1.2 Qt的发展史1991年 Qt最早由奇趣科技开发1996年 进入商业领域,它也是目前流行的Linux桌面环境KDE的基础2008年 奇趣科技被诺基亚公司收购,Qt称为诺基亚旗下的编程语言20...原创 2018-09-27 10:02:42 · 431 阅读 · 0 评论 -
Qt中的.pro文件
.pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。.pro文件的写法如下:注释从“#”开始,到这一行结束。 模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:TEMPLATE = app app -建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。 lib - 建立一...原创 2018-09-27 10:23:01 · 1512 阅读 · 0 评论 -
Qt中的QFile读写文件操作
1.首先记录一下QString,QByteArray,char * 之间的转换(1) QString -&gt; QByteArrayQString buf = "123";QByteArray a = buf.toUtf8(); //中文a = buf.toLocal8Bit(); //本地编码(2) QByteArray -&gt; char *char *b = a.data...原创 2018-10-28 21:07:34 · 29022 阅读 · 0 评论 -
Qt软件的发布相关细节
debug版本因其中包含了调试信息使得程序依赖的dll文件很大,真正发布程序时要使用release版本。在Qt中选择release编译通过后会在项目的build文件夹中找到对应exe文件,若添加进了环境变量则会直接运行。若要想在其他人的电脑也能运行需要在Qt的bin目录下将Qt5Core.dllQt5Gui.dllQt5Widgets.dll复制到release文件中,我的不适用Min...原创 2018-12-08 21:17:22 · 213 阅读 · 0 评论 -
Qt设置最大化最小化和关闭
窗口如果继承QDialog,那窗口就只有关闭按钮;如果继承QWidget,那么就有关闭,最大化,最小化三个按钮,如何个性化定制这三个按钮呢,解决方案是void setWindowFlags ( Qt::WindowFlags type )setWindowFlags ( Qt::WindowFlags type )Qt::FrameWindowHint://没有边框的窗口Qt::Window...原创 2018-12-19 16:39:56 · 10518 阅读 · 1 评论 -
Qt编译出错原因----项目保存路径中有中文!!!
为项目MotorCtrlDemo执行步骤 …19:11:50: 正在启动 “C:\Qt\Qt5.9.0\5.9\msvc2013_64\bin\qmake.exe” E:\参考程序\MotorCtrlDemo\MotorCtrlDemo.pro -spec win32-msvc “CONFIG+=debug” “CONFIG+=qml_debug”Cannot find file: E:\参考...原创 2018-12-16 20:24:58 · 2674 阅读 · 1 评论 -
Qt实践项目打地鼠之----按钮控件实现(五)[附GitHub项目下载地址]
本项目的下载地址:戳此访问这一篇实现按钮控件的实现. 实现按钮的响应功能无非就是建立信号与槽,这里不能使用右键->转到槽的操作,原因如下.首先在mainwindow.cpp中写connect函数,因为按钮按下启动计时器工作,所以接收信号者并非this而是this->scene, connect(ui-&g...原创 2018-08-28 15:51:15 · 944 阅读 · 0 评论 -
Qt实践项目打地鼠之----事件重写(四)[附GitHub项目下载地址]
本项目的下载地址:戳此访问QCoreApplication类的notify( )函数的帮助文档给出了5中处理事件的方法:重新实现部件事件处理函数,最为常用,只能处理特定部件的特定事件; 重新实现notify( )函数,一次只能处理一个事件; 向QApplication对象上安装事件过滤器,与方法二相同,但是可以同时处理多个事件 重新实现event函数,QObject类的event( ...原创 2018-08-28 14:41:25 · 760 阅读 · 0 评论 -
永久解决VS2017+Qt5+opencv中代码下面很多红色波浪线
新建项目 视图->其他窗口->属性管理器 找到debug|win64,选择Microsoft.Cpp.Win64.user右键属性管理器-》vc++目录->包含目录->添加qt的include路径end原创 2018-08-11 15:48:38 · 3663 阅读 · 0 评论 -
Qt中文显示问题--针对MSVC编译,(MingW除外)
1 文件显示正常, 却报错"newline in constant"或者"常量中有换行符"? 这种情况,往往出现在奇数个汉字中. 这是为什么呢? 这是MSVC在编译时的解读问题, MSVC在解读文件时会根据文件有没有BOM,, 如果有BOM,那么按照BOM的方式去解读, 如果没有BOM,那么按照本地编码( 对于简体中文的Windows操作系统就是GB2312)去解读.因此我们的问题就出现了, 一般...原创 2018-08-11 15:52:02 · 523 阅读 · 0 评论 -
Qt中各种不可思议的编译结果解决办法
1.QT中编译出现link2019错误:mainwindow.obj:-1: error: LNK2019: unresolved external symbol "public: __thiscall MyWidget::MyWidget(class QWidget *)" (??0MyWidget@@QAE@PAVQWidget@@@Z) referenced in function "pub...原创 2018-08-11 15:56:05 · 1199 阅读 · 0 评论 -
我与Qt的不期而遇---Qt简介和学习动力来源
Qt是一个跨平台的C++图形用户界面应用程序框架OpenCV库是一套全面而简洁的计算机视觉算法库,主要由一些C及C++函数和类构成。在Windows平台上开发视觉算法时,Visual Studio IDE无疑是一款强大的工具软件,但是,如果要给我们的OpenCV视觉算法加上漂亮的用户界面,即GUI,将会变得有些麻烦。在Visual Studio中,可以将OpenCV与MFC相结合开发界面,然而...原创 2018-08-16 15:11:38 · 265 阅读 · 0 评论 -
Qt的基本框架
本文通过从main()函数出发剖析Qt的基本框架,通过代码注释的形式来一一道来.1.新建一个控制台程序2,在.pro文件中添加核心模块.proQT +=widgets 3.新建C++文件,此时在.pro文件多了一些内容.proQT +=widgetsSOURCES += \mian.cpp3.解析各部分的语句含义#include "widget...原创 2018-08-16 15:27:11 · 12212 阅读 · 1 评论 -
Qt实践之简易计算器的设计[附GitHub项目下载地址]
简易计算器运用了MVC的设计模式,自己的C++底子薄,还没有接触到设计模式,MVC算是第一个.接下来的日子里我每会记录C++的心得与体会,跟进学习的效率.话不多说,本文是参考网易云课堂的视频<<Qt入门精讲>>自己亲自回忆编写的,不足之处请大家指正批评.项目代码已上传GitHub,戳此下载 ...原创 2018-08-19 09:16:18 · 801 阅读 · 0 评论 -
Qt配置OpenCV
2.**系列的OpenCV很好配置,以2.4.10为例直接在.pro文件后面添加INCLUDEPATH += D:/opencv2410/opencv/build/includeCONFIG(debug, debug|release): {LIBS += -LD:/opencv2410/opencv/build/x64/vc12/lib \-lopencv_core2410d \...原创 2018-08-22 13:07:37 · 796 阅读 · 0 评论 -
Qt实践项目打地鼠之----随机弹出地鼠(三)[附GitHub项目下载地址]
本项目的下载地址:戳此访问完成了背景图的布局,接下来要处理随机弹出地鼠的程序编写.首先在myitem.cpp中定义一个设置图片路径的函数,如下:void myitem::setPic(QString path){ this->setPixmap(QPixmap(path));}进而我们可以在场景控制图片的切换.随机产生图片我们调用C中的随机种子srand((...原创 2018-08-27 15:08:47 · 1191 阅读 · 2 评论 -
Qt实践项目打地鼠之----显示背景图(一)[附GitHub项目下载地址]
本项目的下载地址:戳此访问这是网易云课堂视频课的一个例子,(原文链接)这个例子主要用到的QGraphicsView Class,关于这个类的介绍如下:QGraphicsView 动态2D显示容器控制一个界面,管理大量定制Item,交互,支持旋转与缩放 包含事件传播结构,对于scene中的items,具有双精度的交互能力 Items能够处理键盘事件,鼠标的按,移动,释放,双击...原创 2018-08-23 20:31:11 · 2642 阅读 · 6 评论 -
Qt模态和非模态对话框
所谓模态对话框就是在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭。对于非模态对话框,当被打开时,用户既可选择和该对话框进行交互,也可以选择同应用程序的其他窗口交互。这连个概念并不是Qt独有的,MFC也有,可以参考此文。【MFC模态和非模态对话框】1. 非模态对话框 QDialog* dlg = new QDialog(this); dlg->...原创 2019-01-23 18:43:49 · 169 阅读 · 0 评论