精华内容
下载资源
问答
  • 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. 项目体验地址

    项目体验地址

    展开全文
  • 开发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:31
    Qt开发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封装的使用方式。

    演示Demo在这里

    展开全文
  • C++ Qt开发基础与进阶教程

    千人学习 2020-08-29 17:15:03
    全面介绍C++ Qt开发技术,从认识Qt,开发环境安装配置,Qt核心技术讲解,大部分控件的使用技巧,qss界面美化,多线层,网络编程,文件读写,动态曲线绘制,Qt动画,Qt界面常用开发技巧,经过这些的学习,在课程的...
  • QT开发(二)——QT开发环境搭建

    千次阅读 2017-03-26 12:45:46
    QT开发(二)——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源程序安装。

    650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/88/38/wKiom1fr1ZTxu-hPAABQCEg2hP8316.png" title="图片1.png" alt="wKiom1fr1ZTxu-hPAABQCEg2hP8316.png" />

    2、安装QT SDK

    点击qt-win-opensource-4.7.4-mingw源程序安装。

    650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/88/38/wKiom1fr1bzC83miAABsTOEu1DY310.png" title="图片2.png" alt="wKiom1fr1bzC83miAABsTOEu1DY310.png" />

    选择mingw文件夹,在Qt Creator的安装目录中查找

    650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/88/34/wKioL1fr1dnANygyAABO-5xKhM4450.png" title="图片3.png" alt="wKioL1fr1dnANygyAABO-5xKhM4450.png" />

    3、环境变量设置

    由于QT creator和QT SDK是分开安装的,所以需要设置环境变量将两者关联。

    A、右键点击桌面的计算机图标选择属性,进入系统属性设置,选中高级系统设置。

    650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/88/34/wKioL1fr1fmhY75nAABlZF_10O8628.png" title="图片4.png" alt="wKioL1fr1fmhY75nAABlZF_10O8628.png" />

    B、选择高级菜单,点击右下角环境变量选项,进入环境变量设置

    650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/88/38/wKiom1fr1hbAgq86AABfXmbTGNE996.png" title="图片5.png" alt="wKiom1fr1hbAgq86AABfXmbTGNE996.png" />

    C、选中系统PATH环境变量,选择编辑

    650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/88/34/wKioL1fr1jCynd_eAAAmdLG8S-4563.png" title="图片6.png" alt="wKioL1fr1jCynd_eAAAmdLG8S-4563.png" />

    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

    650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/88/38/wKiom1fr1mCR9NLNAAAmzMFEJbM399.png" title="图片7.png" alt="wKiom1fr1mCR9NLNAAAmzMFEJbM399.png" />

    4、编译工具设置

    打开QT Creator,选择工具菜单的“选项”选项

    650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/88/38/wKiom1fr1oWB197RAAC_eLe8Y88272.png" title="图片8.png" alt="wKiom1fr1oWB197RAAC_eLe8Y88272.png" />

    选择“构建与运行”中“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执行安装程序

    650) this.width=650;" src="http://s1.51cto.com/wyfs02/M01/88/34/wKioL1fr1qmz3GEBAACn0Vhcsm0587.png" title="图片9.png" alt="wKioL1fr1qmz3GEBAACn0Vhcsm0587.png" />

    选择安装目录

    650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/88/34/wKioL1fr1sXxNozfAAA_LrTjkwc094.png" title="图片10.png" alt="wKioL1fr1sXxNozfAAA_LrTjkwc094.png" />

    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,选择工具菜单的“选项”选项

    650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/88/38/wKiom1fr1uryEtE4AAC_eLe8Y88625.png" title="图片11.png" alt="wKiom1fr1uryEtE4AAC_eLe8Y88625.png" />

    选择“构建与运行”中“Qt版本”选项,添加安装目录中的qmake

    至此,QT开发环境安装完成。


    本文出自 “生命不息,奋斗不止” 博客,谢绝转载!

    展开全文
  • Qt 嵌入式图形开发大全和QT开发手册

    千次阅读 2019-05-31 18:24:28
    Qt 嵌入式图形开发大全和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与JAVA有点类似,也是一种跨平台的软件(当然在windows平台和linux平台需要安装相应的QT开发环境和运行库,类似于JAVA在不同平台下的虚拟机JVM环境),因此对于某些需要同时支持windows平台和linux平台的应用,QT...
  • 原博主博客地址: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:19
    windows上Qt开发环境可以使用QtCreator, 也可以使用VS + Qt, VS开发调试功能强大,本篇介绍VS2019 + Qt5.14开发环境的配置, 其它版本的类似。 VS下载链接:https://visualstudio.microsoft.com/zh-hans/vs/ VS...
  • Qt开发入门

    千次阅读 2014-11-21 10:32:19
    Qt的初步研究 ...二、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:28
    Visual Studio 2019配置qt开发环境Qt安装下载 qt 插件配置环境创建项目 宇宙第一IDE Visual Studio 配置 Qt 开发环境 ???? Qt安装 下载安装包路径:http://download.qt.io/archive/qt/ 更建议在清华大学开源软件...
  • 近期工作需要在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开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 海思QT开发系列(三):海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试 参考 海思3559A QT 5.12移植(带webengine 和 ...
  • QT开发(一)——QT简介

    千次阅读 2017-03-26 12:45:42
    QT开发(一)——QT简介一、QT简介1、QT简介 QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持...
  • Qt开发环境搭建

    千次阅读 2016-04-23 16:42:26
    Qt开发环境搭建 Qt 下载: http://download.qt.io/ http://download.qt.io/archive/qt/
  • 海思QT开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 海思QT开发系列(三):海思QT开发系列(三):Hi3559 Qt Sample开发板运行测试 参考 基于海思Hi3531上移植QT过程总结 ...
  • 若该文为原创文章,未经允许不得转载 原博主博客地址:... 目录 前话 树莓派本地qt编译环境(不推荐) 步骤一:安装qt5 步骤二:配置qmake等构件套件 步骤三:创建一个GUI程序测试 步骤...
  • 海思QT开发系列(一):3559平台QT移植 海思QT开发系列(二):构建海思Qt项目Sample 参考 qt4.8.6移植到hi3559(二) 这个小朋友的做法有点问题,所以他在第三步出错了,还是那句话 一切以我为准 QT安装 交叉...
  • QT开发工具下载地址

    千次阅读 2018-09-25 18:27:42
    qt开发包地址: 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/  
  • 米尔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:42
    JQHttpServer是基于Qt开发的轻量级HTTP服务器,目前支持GET和POST两个协议。底层有TcpSocket和LocalSocket两个版本,方便使用。用到的Qt库有: core network concurrent testlib(测试用,运行不需要) 理论上可以...
  • QT开发(十四)——QT绘图系统

    千次阅读 2017-03-26 12:46:35
    QT开发(十四)——QT绘图系统一、QT绘图原理 Qt4中的2D绘图系统称为Arthur绘图系统,可以使用相同的API在屏幕上和绘图设备上进行绘制,主要基于QPainter、QPainterDevice和 QPainterEngine。QPainter执行绘图操作...
  • ubuntu 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:40
    Mac下搭建Qt开发环境分别下载并安装Xcode和 Command Line Tools。 分别下载并安装Xcode和 Command Line Tools。 Xcode直接 App store 下载 安装好Xcode后 终端命令行输入 xcode-select --install ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,666
精华内容 12,266
关键字:

qt开发