-
Qt开发人机象棋
2021-01-04 22:21:48文章目录Qt开发人机象棋1. 类关系图2. 用到的技术手段2.1 界面计算分离2.2 线程2.3 定时器3. Qt开发象棋过程问题记录3.1 问题 1. 在初次开发中存在内存泄漏问题3.2 问题 2. 类设计糟糕,使得计算和界面未分离3.3 ...文章目录
Qt开发人机象棋
前段时间在网上看到有人在用qt做象棋,心血来潮准备自己也实现一下,先看一波效果图(项目存在一些瑕疵):
1. 类关系图
本程序较为简单,设计上分为四个没有继承关系的类:
- Widget:界面类;负责界面重绘,鼠标点击和按钮点击事件响应,并创建棋子,控制类,计算类等
- ChessPiece:棋子类;包含棋子的属性:id, 所在行列, 是否是红方阵营, 是否死亡
- Control:控制类;包括棋子走棋方法:是否可以走棋, 保存走棋路径等等
- Computer:电脑计算类;运用最大最小值算法求得最优走棋
2. 用到的技术手段
2.1 界面计算分离
由于博弈树会很大,如果将所有的计算都放在widget类中计算会出现卡界面问题;所以通过类的设计,分为widget和computer两个类,通过棋子这个中间变量来进行通信
2.2 线程
使用多线程来实现界面计算分离,使得计算最优走棋时不会出现卡界面问题
2.3 定时器
定义定时器,timeout连接槽函数,更新各方等待时间
3. Qt开发象棋过程问题记录
3.1 问题 1. 在初次开发中存在内存泄漏问题
问题描述:在初次开发中,出现运行后电脑卡机现象
解决: 一般出现运行程序电脑卡机现象,是大量内存泄漏导致的;回顾程序,大量使用堆内存的地方就是博弈树vector保存路径;查看后发现在使用该vector时,只是removeLast,并未真正释放申请的堆内存,然后delete,解决。
3.2 问题 2. 类设计糟糕,使得计算和界面未分离
问题描述:由于时间关系,在类的设计上显得糟糕,计算机计算类直接继承于界面类,导致计算量大时,存在卡界面问题
解决: 花时间将项目重写,对项目进行功能分割,使得项目分为:界面类,控制类,棋子类,电脑计算类;从而使得计算和界面分离
3.3 问题 3. 重写项目后,效率降低了十倍
问题描述:重写项目后,发现计算效率差了十倍,花了两天业余时间,通过不断缩小范围qDebug,还是找不到问题
解决: 无奈就又开始重写,最后发现是因为原来项目中使用原始数组来存储棋子,但是新的项目使用QVector存储棋子,原因就在这里,不清楚为什么使用QVector的效率这么低,最后还是换成了数组存储。
3.4 问题 4. 信号和槽连接问题
问题描述:自定义类和继承自QWidget的类使用信号和槽通信,发现连接不上
QObject::connect: No such slot QObject::startComputerSlot() in ..\ChineseChess\widget.cpp:34 QObject::connect: (sender name: 'Widget') QObject::connect: No such signal QObject::sendComputerBestStep(Step *) in ..\ChineseChess\widget.cpp:35 QObject::connect: (receiver name: 'Widget')
解决: 这个问题以前有遇到过; 在自定义的类中,使用信号和槽,需要继承自QObject类,并且在类头添加
Q_OBJECT
宏3.5 问题 5. 使用线程之后,界面频繁重绘
问题描述:将项目重写一遍后,做好了界面和计算分离,可以添加线程使得计算时不会卡界面;但是在添加线程后会出现界面频繁重绘问题( 现象就是棋子会频繁跳动)
解决: 虽然还不清楚为什么添加线程后会出现这样的问题,但是可以知道线程和界面唯一的联系就是棋子变量,所以只需要在线程中做一份棋子变量的拷贝,让其在线程计算中使用即可
4. 项目尚存在的问题
4.1 算法问题
算法较为初级,棋力水平一般(当然不会下象棋的我下不过它),本想加入一些开局库和残局库的,但是没有心思再搞下去了
4.2 程序完成性问题
程序大部分都完成了,除了小部分:
- 一方输之后,只是简简单单的弹框了事,没有后续
- 默认红方先手(即人一方);机器先手的按钮没实现,不过不难
- 输出棋谱方面,不懂象棋方面的术语,所以输出的棋谱以坐标表示走棋路径
- 定时器方面存在问题
4.2 程序重绘问题
项目在程序的绘制方面存在小瑕疵
5. 项目体验地址
-
Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件
2021-02-11 12:50:00开发Activex控件,以供其他应用程序调用,本篇章讲解Qt调用Activex控件,不限于Qt开发的Activex控件。若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693长期持续带来更多项目与技术分享,咨询请加QQ:21497936、微信:yangsir198808
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
Qt开发专栏:开发技术
上一篇:《Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo》
下一篇:《Qt开发Activex笔记(三):C#调用Qt开发的Activex控件》
前言
开发Activex控件,以供其他应用程序调用,本篇章讲解Qt调用Activex控件,不限于Qt开发的Activex控件。
Demo
QAxWidget
概述
QAxWidget类是包装ActiveX控件的QWidget。
QAxWidget可以实例化为空对象,带有它应该包装的ActiveX控件的名称,或者带有指向ActiveX控件的现有接口指针。ActiveX控件的属性、方法和事件仅使用QAxBase支持的数据类型,可以作为Qt属性、插槽和信号使用。基类QAxBase提供了一个API,可以通过IUnknown指针直接访问ActiveX。
QAxWidget是一个QWidget,通常可以这样使用,例如,它可以组织在一个widget层次结构和布局中,或者充当一个事件过滤器。支持标准小部件属性,例如enabled,但它依赖于ActiveX控件来实现对环境属性(例如palete或font)的支持。QAxWidget试图提供必要的提示。
但是,不能重新实现特定于Qt的事件处理程序,如mousePressEvent或keyPressEvent,并期望可靠地调用它们。嵌入式控件完全覆盖QAxWidget,通常处理用户界面本身。使用特定于控件的API(即侦听控件的信号),或使用标准COM技术,如window过程子类化。
QAxWidget还从QAxBase继承了大部分与ActiveX相关的功能,特别是dynamicCall()和querySubObject()。
警告:可以将QAxWidget子类化,但不能在子类中使用Q_OBJECT宏(生成的moc文件将不会编译),因此无法添加更多信号、插槽或属性。这种限制是由于运行时生成的元对象信息造成的。要解决此问题,请将QAxWidget聚合为QObject子类的成员。
Qt调用Activex方法
步骤一:注册activex控件
运行之前先要注册,使用Qt下自带的idc注册一下。
idc -regserver activeHelloWorldDemo.dll
步骤二:确认activeQt控件的clsid
查看一下,打开注册表并搜索一下,确认clsid,如下图:
"2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"
步骤三:使用QAxWidget调用
QAxWidget *pAxWidget = new QAxWidget(); pAxWidget->resize(400, 320); pAxWidget->setControl("2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"); pAxWidget->show();
源码
#include <QApplication> #include <QAxWidget> int main(int argc, char *argv[]) { QApplication a(argc, argv); QAxWidget *pAxWidget = new QAxWidget(); pAxWidget->resize(400, 320); pAxWidget->setControl("2F12BFB8-137D-4DC2-9A93-634EFE5A6DFC"); pAxWidget->show(); return a.exec(); }
上一篇:《Qt开发Activex笔记(一):环境搭建、基础开发流程和演示Demo》
下一篇:《Qt开发Activex笔记(三):C#调用Qt开发的Activex控件》 -
Qt开发MQTT(一) 之Qt官方Qt MQTT
2020-03-05 22:35:31Qt开发MQTT程序有两种方式,一个是Qt官方提供的基于MQTT的封装,一个是第三方(EMQ)开发的用于Qt调用MQTT的接口,二者使用方法大同小异,并且均提供了源码。那么,这里先来介绍第一种,如基于Qt官方提供的封装来...概述
Qt开发MQTT程序有两种方式,一个是Qt官方提供的基于MQTT的封装,一个是第三方(EMQ)开发的用于Qt调用MQTT的接口,二者使用方法大同小异,并且均提供了源码。那么,这里先来介绍第一种,如基于Qt官方提供的封装来使用MQTT。
Qt官方虽然在2017年就已经提供了对MQTT的封装,但是并没有正式加入到Qt的标准库里面,所以需要自己下载源码进行编译。
Qt官方介绍文档地址:
https://doc.qt.io/QtMQTT/qtmqtt-index.html
下载
Qt官方在github上提供了源代码,地址:
https://github.com/qt/qtmqtt
这是最新的,基于MQTT 5.0协议的版本。先把源码下载下来。编译
下载源码后得到如下文件,直接打开工程文件准备编译
我这里的编译环境是:Qt5.12.3+vs2017注意,编译这个源码需要安装perl,否则会报错:
perl 不是内部或外部命令,也不是可运行的程序。
perl下载地址:https://www.perl.org/get.html
官网下载速度比较慢,我上传到网盘了,可以在这里下载:链接:https://pan.baidu.com/s/1p5YOo-FU-ZLJUtuZSN0Rjg 提取码:i0dm
安装完Perl后会自动写入环境变量, 这时候再次编译(Release模式)QtMqtt源码,编译完成后得到以下文件:
bin目录下就是我们要的库文件:
接下来就可以将mqtt部署到自己的Qt项目中了。
部署到Qt项目
编译出来的Qt Mqtt库,要使用它有两种方式,一种是直接在项目中导入外部库和头文件,还有一种是将其以模块的形式部署到Qt的安装目录,其中第二种的好处就是,只需要做一次操作,以后需要再用Mqtt库就可以直接调用了,不需要每次都导入外部库。这里两种方法都介绍一下,首先来看第一种。
导入外部库
新建一个Qt工程
然后将刚刚编译的源码生成目录下的lib文件夹中以下四个文件拷贝:
在新建工程目录下创建lib文件夹,将拷贝的文件粘贴进去:
然后在qtmqtt源码目录下(qtmqtt\src\mqtt
)的所有.h头文件拷贝,在新建工程目录下创建include文件夹,将拷贝的文件粘贴进去:
打开新建工程的pro文件,添加:
再添加库文件引用:win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqtt else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/ -lQt5Mqttd
添加include文件的引用:
INCLUDEPATH += $$PWD/include DEPENDPATH += $$PWD/include
ok, 这样就可以调用Qt Mqtt的库文件了,直接可以包含头文件来使用了。
#include "QtMqtt/QMqttClient"
为了统一演示,先介绍完第二种方法后再来看demo。
部署到Qt安装目录
再来看第二种方法,如何将QtMqtt的库直接部署到Qt安装目录中,这样只需要部署一次,以后在任何工程中引用都不需要再额外导入库了,相比第一种来说更方便些。
首先,将qtmqtt源码目录下(
qtmqtt\src\mqtt
)的所有.h头文件拷贝,Qt安装目录下的include文件夹中创建一个mqtt目录,将拷贝的文件粘贴进去:
然后,将源码编译生成目录下的lib中以下6个文件拷贝
并粘贴到Qt安装目录下的lib文件夹中去:
接下来将源码编译生成的两个库文件拷贝到Qt安装目录的bin中:
最后再拷贝模块配置文件到Qt安装目录中
ok,配置完毕,这种方式配置在新建工程中引用只需要引入模块就可以直接使用了
QT += mqtt
包含头文件
#include <QtMqtt/QtMqtt>
所以推荐使用第二种方式进行配置。
接下来看看Demo。
Demo演示
为了方便演示,我们直接使用Qt Mqtt源码中自带的示例来编译运行。
这个示例Qt官方有详细介绍的,https://doc.qt.io/QtMQTT/qtmqtt-simpleclient-example.html
将该示例打开,有个地方需要改一下,打开Pro文件
将以上两行注释掉,要不然会有依赖,无法独立运行。关键代码:
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QtCore/QDateTime> #include <QtMqtt/QMqttClient> #include <QtWidgets/QMessageBox> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); m_client = new QMqttClient(this); m_client->setHostname(ui->lineEditHost->text()); m_client->setPort(ui->spinBoxPort->value()); connect(m_client, &QMqttClient::stateChanged, this, &MainWindow::updateLogStateChange); connect(m_client, &QMqttClient::disconnected, this, &MainWindow::brokerDisconnected); connect(m_client, &QMqttClient::messageReceived, this, [this](const QByteArray &message, const QMqttTopicName &topic) { const QString content = QDateTime::currentDateTime().toString() + QLatin1String(" Received Topic: ") + topic.name() + QLatin1String(" Message: ") + message + QLatin1Char('\n'); ui->editLog->insertPlainText(content); }); connect(m_client, &QMqttClient::pingResponseReceived, this, [this]() { const QString content = QDateTime::currentDateTime().toString() + QLatin1String(" PingResponse") + QLatin1Char('\n'); ui->editLog->insertPlainText(content); }); connect(ui->lineEditHost, &QLineEdit::textChanged, m_client, &QMqttClient::setHostname); connect(ui->spinBoxPort, QOverload<int>::of(&QSpinBox::valueChanged), this, &MainWindow::setClientPort); updateLogStateChange(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_buttonConnect_clicked() { if (m_client->state() == QMqttClient::Disconnected) { ui->lineEditHost->setEnabled(false); ui->spinBoxPort->setEnabled(false); ui->buttonConnect->setText(tr("Disconnect")); m_client->connectToHost(); } else { ui->lineEditHost->setEnabled(true); ui->spinBoxPort->setEnabled(true); ui->buttonConnect->setText(tr("Connect")); m_client->disconnectFromHost(); } } void MainWindow::on_buttonQuit_clicked() { QApplication::quit(); } void MainWindow::updateLogStateChange() { const QString content = QDateTime::currentDateTime().toString() + QLatin1String(": State Change") + QString::number(m_client->state()) + QLatin1Char('\n'); ui->editLog->insertPlainText(content); } void MainWindow::brokerDisconnected() { ui->lineEditHost->setEnabled(true); ui->spinBoxPort->setEnabled(true); ui->buttonConnect->setText(tr("Connect")); } void MainWindow::setClientPort(int p) { m_client->setPort(p); } void MainWindow::on_buttonPublish_clicked() { if (m_client->publish(ui->lineEditTopic->text(), ui->lineEditMessage->text().toUtf8()) == -1) QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not publish message")); } void MainWindow::on_buttonSubscribe_clicked() { auto subscription = m_client->subscribe(ui->lineEditTopic->text()); if (!subscription) { QMessageBox::critical(this, QLatin1String("Error"), QLatin1String("Could not subscribe. Is there a valid connection?")); return; } }
我们直接编译运行该示例:
broker.hivemq.com
在官方文档中介绍,可以直接连接以下两个服务器地址:
经测试,第一个地址连接不上,所以我们直接输入第二个地址进行测试:
broker.hivemq.com
输入地址,点击连接后就可以连接服务器,并且State变成了2就表示已经连上了。
然后点击订阅按钮,表示要订阅这个主题,在点击发布,就可以收到信息了:
可以在多台电脑上进行测试,只要订阅了同一个主题,那么一端发送消息,其他端就可以接收到相应的信息。Qt官方提供了非常详细的文档介绍,大家可以去参考接口的使用,最主要使用的类是
QMqttClient
。
至此,Qt官方提供的MQTT封装模块使用介绍已经全部完了,下一篇将介绍一个第三方基于MQTT封装的使用方式。
-
C++ Qt开发基础与进阶教程
2020-08-29 17:15:03全面介绍C++ Qt开发技术,从认识Qt,开发环境安装配置,Qt核心技术讲解,大部分控件的使用技巧,qss界面美化,多线层,网络编程,文件读写,动态曲线绘制,Qt动画,Qt界面常用开发技巧,经过这些的学习,在课程的... -
QT开发(二)——QT开发环境搭建
2017-03-26 12:45:46QT开发(二)——QT开发环境搭建一、Windows系统QT开发环境搭建操作系统:Windows 7QT Creator:qt-creator-win-opensource-2.4.1QT SDK:qt-win-opensource-4.7.4-mingw1、安装QT Creator点击qt-creator-win-open...QT开发(二)——QT开发环境搭建
一、Windows系统QT开发环境搭建
操作系统:Windows 7
QT Creator:qt-creator-win-opensource-2.4.1
QT SDK:qt-win-opensource-4.7.4-mingw
1、安装QT Creator
点击qt-creator-win-opensource-2.4.1源程序安装。
2、安装QT SDK
点击qt-win-opensource-4.7.4-mingw源程序安装。
选择mingw文件夹,在Qt Creator的安装目录中查找
3、环境变量设置
由于QT creator和QT SDK是分开安装的,所以需要设置环境变量将两者关联。
A、右键点击桌面的计算机图标选择属性,进入系统属性设置,选中高级系统设置。
B、选择高级菜单,点击右下角环境变量选项,进入环境变量设置
C、选中系统PATH环境变量,选择编辑
D、根据QT安装路径将 C:\QT\qt-4.7.4\bin;C:\QT\qtcreator-2.4.1\bin;
C:\QT\qtcreator-2.4.1\mingw\bin 添加到 Path变量。注意不同目录间使用分号间隔。
E、在系统变量中添加变量LD_LIBRARY_PATH并将其值设为 C:\QT\qt-4.7.4\lib;C:\QT\qtcreator-2.4.1\lib
4、编译工具设置
打开QT Creator,选择工具菜单的“选项”选项
选择“构建与运行”中“Qt版本”选项,添加安装目录中的qmake
至此,QT开发环境安装完成。
二、CentOS系统QT开发环境搭建
操作系统:CentOS 6.8
QT Creator:qt-creator-linux-x86-opensource-2.4.1.bin
QT SDK:qt-everywhere-opensource-src-4.7.4.tar.gz
1、QT SDK源码安装
A、解压qt-everywhere-opensource-src-4.7.4.tar.gz源码包
tar -zxvf qt-everywhere-opensource-src-4.7.4.tar.gz
B、进入解压后的目录,配置编译环境
./configure
C、编译源码
make
D、安装
make install
2、QT Creator安装
./qt-creator-linux-x86-opensource-2.4.1.bin执行安装程序
选择安装目录
3、环境变量设置
在用户主目录下打开.bashrc文件,添加如下代码:
exportQTDIR=/usr/local/Trolltech
export PATH=$QTDIR/Qt-4.7.4/bin:$QTDIR/qtcreator-2.4.1/bin:$PATH
exportLD_LIBRARY_PATH=$QTDIR/Qt-4.7.4/lib:$QTDIR/qtcreator-2.4.1/lib:
$LD_LIBRARY_PATH
4、编译工具设置
打开QT Creator,选择工具菜单的“选项”选项
选择“构建与运行”中“Qt版本”选项,添加安装目录中的qmake
至此,QT开发环境安装完成。
本文出自 “生命不息,奋斗不止” 博客,谢绝转载!
-
Qt 嵌入式图形开发大全和QT开发手册
2019-05-31 18:24:28Qt 嵌入式图形开发大全和QT开发手册,感觉这个资料会很多人要,毕竟学习嵌入式的人还蛮多的,各种找嵌入式的资料,今天给大家真理了这个嵌入式图形开发大全,也是在闯客网技术论坛下载的,哈哈哈哈,废话不多说,... -
使用VS Code进行Qt开发
2020-10-04 19:47:05使用VS Code进行Qt开发 Qt Creator界面不美观,而VS Code更漂亮一些。 因为Qt5支持使用CMake进行构建,而VS Code也可以支持CMake构建系统,因此是完全可以的。 测试环境 Qt 5.15.0 CMake 3.17.5 Visual Studio 2019... -
【Qt开发】【VS开发】VS2010+Qt开发环境搭建
2016-08-16 16:15:59QT与JAVA有点类似,也是一种跨平台的软件(当然在windows平台和linux平台需要安装相应的QT开发环境和运行库,类似于JAVA在不同平台下的虚拟机JVM环境),因此对于某些需要同时支持windows平台和linux平台的应用,QT... -
Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板
2019-05-15 17:48:42原博主博客地址:https://blog.csdn.net/qq21497936 ... Qt开发笔记(一):Qt+FFmpeg开发环境搭建以及工程模板 前言 需要使用到FFmpeg做播放器编解码,qt自带的播放器有较大局限,如依赖系统,播放... -
Qt 开发经验总结
2020-08-14 19:23:06文章目录Qt 开发经验总结当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了。定时器是个好东西,学会好使用... -
VS2019 Qt开发环境搭建与配置
2020-08-15 01:07:19windows上Qt开发环境可以使用QtCreator, 也可以使用VS + Qt, VS开发调试功能强大,本篇介绍VS2019 + Qt5.14开发环境的配置, 其它版本的类似。 VS下载链接:https://visualstudio.microsoft.com/zh-hans/vs/ VS... -
Qt开发入门
2014-11-21 10:32:19Qt的初步研究 ...二、Qt开发准备... 4 1、Qt的开发环境及搭建... 4 1.1、开发环境... 4 1.2、Qt Library + Qt Creator. 4 1.2.1、安装包... 4 1.2.2、安装... 5 1.2.3、配置... 6 1.2.4、新建 -
Visual Studio 2019配置qt开发环境
2020-03-18 21:01:28Visual Studio 2019配置qt开发环境Qt安装下载 qt 插件配置环境创建项目 宇宙第一IDE Visual Studio 配置 Qt 开发环境 ???? Qt安装 下载安装包路径:http://download.qt.io/archive/qt/ 更建议在清华大学开源软件... -
【Qt开发】Linux下Qt开发环境的安装与集成
2016-08-16 16:18:41近期工作需要在Linux下用Qt进行C++开发,所以就在linux下尝试装QT开发环境。本人用的linux是CentOS 6.5。现在对安装过程做出总结。有两种安装方式,下面分别详述: 1 图形化安装 1.1 安装包的下载与获取 ... -
Qt开发学习教程
2018-12-12 11:49:42一、Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的《QT实验分析教程》创作,同时根据天山老妖自己的理解和网络搜集的资料及QT官方文档对部分知识点进行了扩展。本系列博客由天山老妖创作,发布于51CTO... -
Linux平台QT开发环境搭建
2018-09-29 13:36:24最新搞一个新项目,需要在linux下进行QT开发,包括用到QCamera。 我下载了Qt的最新版本源码, 同时参考着一些旧的资料,将全部安装和使用过程都走了一遍,包括安装过程中的踩坑过程,都记录下来,以备日后查阅和... -
Qt开发技术:Qt绘图系统(一)绘图系统介绍
2020-04-14 10:03:30若该文为原创文章,未经允许不得转载 原博主博客地址:...本文章博客地址: 各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究 Qt开发技术:Qt绘图系统(一) ... -
海思QT开发系列(四):Hi3559 Qt+OpenGL移植
2020-05-19 13:43:30海思QT开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 海思QT开发系列(三):海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试 参考 海思3559A QT 5.12移植(带webengine 和 ... -
QT开发(一)——QT简介
2017-03-26 12:45:42QT开发(一)——QT简介一、QT简介1、QT简介 QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持... -
Qt开发环境搭建
2016-04-23 16:42:26Qt开发环境搭建 Qt 下载: http://download.qt.io/ http://download.qt.io/archive/qt/ -
海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试
2020-05-15 15:59:55海思QT开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 海思QT开发系列(三):海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试 参考 基于海思Hi3531上移植QT过程总结 ... -
树莓派开发笔记(二):qt开发环境搭建:树莓派qt编译和宿主机qt交叉编译
2018-03-27 11:44:53若该文为原创文章,未经允许不得转载 原博主博客地址:... 目录 前话 树莓派本地qt编译环境(不推荐) 步骤一:安装qt5 步骤二:配置qmake等构件套件 步骤三:创建一个GUI程序测试 步骤... -
海思QT开发系列(二):构建海思Qt项目Sample
2020-05-15 13:55:40海思QT开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 参考 qt4.8.6移植到hi3559(二) 这个小朋友的做法有点问题,所以他在第三步出错了,还是那句话 一切以我为准 QT安装 交叉... -
QT开发工具下载地址
2018-09-25 18:27:42qt开发包地址: http://download.qt.io/archive/qt/5.6/5.6.2/ vs插件地址: http://download.qt.io/archive/vsaddin/ qt5.11pdb地址: http://download.qt.io/archive/qt/5.11/5.11.2/ -
【Linux开发】【Qt开发】ARM QT移植详细步骤教程
2016-08-23 17:45:18米尔SAM9X5和A5D3X上默认的Qt版本是4.5.3,当这个版本的Qt库不能满足实际开发需求时,可通过此方法制定Qt开发、运行环境。 移植的步骤如下: 1、下载新版qt; 2、编译tslib; 3、编译qt; 4、配置编译后的qt... -
Qt:基于Qt开发的轻量级HTTP/HTTPS服务器
2016-07-05 14:27:42JQHttpServer是基于Qt开发的轻量级HTTP服务器,目前支持GET和POST两个协议。底层有TcpSocket和LocalSocket两个版本,方便使用。用到的Qt库有: core network concurrent testlib(测试用,运行不需要) 理论上可以... -
QT开发(十四)——QT绘图系统
2017-03-26 12:46:35QT开发(十四)——QT绘图系统一、QT绘图原理 Qt4中的2D绘图系统称为Arthur绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter、QPainterDevice和 QPainterEngine。QPainter执行绘图操作... -
ubuntu QT开发环境(三种方法安装Qt4.8)
2017-12-15 16:15:08ubuntu QT开发环境(三种方法安装Qt4.8,其中apt-get方法安装QT库最简单)good 方法一 QT4.8.0库+QT Creator 2.4.1 特别声明:此方法极其耗时间,看电脑性能了。配置configure可减少编译时间 1.下载Qt 。... -
Mac下搭建Qt开发环境
2019-05-21 11:13:40Mac下搭建Qt开发环境分别下载并安装Xcode和 Command Line Tools。 分别下载并安装Xcode和 Command Line Tools。 Xcode直接 App store 下载 安装好Xcode后 终端命令行输入 xcode-select --install ...
-
可以直接用的Excel 宏定义-1
-
DHCP 动态主机配置服务(在Linux环境下,配置单网段或跨网段提)
-
C++ STL(十四):常用排序算法(sort、random_shuffle、merge、reverse)
-
中文分词词典UserDict.txt
-
零基础一小时极简以太坊智能合约开发环境搭建并开发部署
-
Java核心技术面试题.zip
-
鲇鱼1000-2000.txt
-
_this2.$xxxis not a function
-
基于python的dango框架购物商城毕业设计毕设源代码使用教程
-
【leetcode】串联所有单词的子串
-
Codeforces Global Round 13 ABC题解
-
Zabbix自定义项
-
NFS 网络文件系统
-
org.apache.log4j.Logger 使用jar包
-
GC如何判断对象可以被回收
-
MySQL 四类管理日志(详解及高阶配置)
-
最新中文停用词.txt
-
2019年-华启学院中级通信工程师综合能力真题及答案(完整版).pdf
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
[蓝桥杯] 骰子迷题 python解法