Qt
踏莎行hyx
疏影横斜水清浅,暗香浮动月黄昏。
展开
-
Qt-Creator 常用快捷键
F1 查看帮助F2 跳转到函数定义(和Ctrl+鼠标左键一样的效果)Shift+F2 声明和定义之间切换F4 头文件和源文件之间切换Ctrl+1 欢迎模式Ctrl+2 编辑模式Ctrl+3 调试模式Ctrl+4 项目设置模式Ctrl+5 帮助模式转载 2014-06-25 16:58:00 · 1188 阅读 · 0 评论 -
unity开发:Qt C++与unity之间TCP网络通信
考虑实现用C++做服务器,unity做客户端实现TCP网络通信。以下采用TCP单线程连接。Qt C++服务端建立一个Qt的GUI项目,在界面上放一个label显示连接状态,两个button作为指令发送控制。记得在pro文件中加入network模块widget.h#ifndef WIDGET_H#define WIDGET_H#include cla原创 2015-06-14 10:25:10 · 7184 阅读 · 17 评论 -
Qt中嵌入Directx11
最近要做个游戏场景编辑器,需要directx11配合gui框架使用,所以简单地弄了一个directx11嵌入到Qt窗体中的程序。1 建立工程建一个Qt的工程,配置好directx的包含目录和库目录(以及附加依赖项),Qt vs2013 add-in的话很方便,直接在vs2013里面加,Qt creator的话写到pro文件里,可以选择生成对应的ui文件,或者不生成。2代码...原创 2015-08-10 18:18:18 · 12109 阅读 · 10 评论 -
Qt开发:编辑框textEdit自动滚屏
开发聊天程序或者类似于状态监控的程序有时候要用到编辑框的自动滚屏。写了一个函数//编辑框自动滚屏,每次新增一行或多行字符调用一次void autoScrollTextEdit(QTextEdit *textEdit,QString &text,QString &add_text){ //添加行字符并刷新编辑框 text+=add_text+"\n"; textE原创 2015-12-09 21:37:45 · 13714 阅读 · 1 评论 -
Qt开发:splash启动界面
在Qt中实现简单的启动界面,可以使用QSplashScreen类。准备一张图片,放在硬盘或者编译到Qt的资源里面去。代码:软件入口#include #include #include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QPixmap pixm原创 2015-12-08 16:21:29 · 2314 阅读 · 0 评论 -
Qt小游戏开发:扫雷
继续把Qt小游戏写一下~预览步骤整体的代码结构,游戏逻辑类和游戏界面类分离,采用MVC的思想。1 定义游戏数据结构游戏地图实际上是由一个个方块组成的二维矩阵,没个方块存储数字、雷或者标记的情况,另外还要定义一些游戏的运行状态枚举// ---------------- 全局定义变量 ---------------- //// 方块的原创 2016-07-08 10:34:44 · 11737 阅读 · 11 评论 -
Qt小游戏开发:五子棋(带AI功能)
写了一个带AI的五子棋小游戏,AI的表现还可以~预览步骤整体的代码结构,一个游戏逻辑类,一个UI类1 定义游戏数据结构// 游戏类型,双人还是AI(目前固定让AI下黑子)enum GameType{ PERSON, BOT};// 游戏状态enum GameStatus{ PLAYING,原创 2016-12-25 18:22:12 · 47288 阅读 · 66 评论 -
Qt小游戏开发:贪吃蛇
周末没事,手写小游戏继续~预览步骤1 定义数据结构逻辑与界面分离,游戏场景是个二维数组区域,贪吃蛇是若干个连续的坐标点集合,用动态链表维护,果实是一个随机坐标点。const int BLOCK_SIZE=25; //单个方块单元的边长const int MARGIN=5; //场景边距const int AREA_ROW=15; //场景行数con原创 2015-05-31 15:32:08 · 7963 阅读 · 0 评论 -
Qt工程pro文件的简单配置(尤其是第三方头文件和库)
Qt开发中,pro文件是对正工程所有源码、编译、资源、目录等的全方位配置的唯一方式,pro文件的编写非常重要,以下对几个重要项进行说明(win和linux,mac平台通用配置)注释以”#”开始的行,直到结束模板变量告诉qmake生成哪种makefileTEMPLATE = app其中app -表示该工程建立一个应用程序的makefile。这是默认值,所以如...原创 2017-05-07 00:36:40 · 30965 阅读 · 3 评论 -
Qt小游戏开发:连连看
继续更新~ 原来csdn博客用底部的批量导入图片就不会失真预览步骤项目结构包括:游戏逻辑类,界面类,资源1 定义游戏数据结构// ------------ 全局变量 ------------ //// 最大行和列数const int MAX_ROW = 15;const int MAX_COL = 20;// 游原创 2016-12-16 19:28:55 · 13292 阅读 · 30 评论 -
Qt开发:跨窗口信号槽通信
多窗口通信,如果是窗口类对象之间互相包含,则可以直接开放public接口调用,不过,很多情况下主窗口和子窗口之间要做到异步消息通信,就必须依赖到跨窗口的信号槽,以下是一个简单的示例。母窗口mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QLabel...原创 2018-10-25 21:56:33 · 8536 阅读 · 3 评论 -
Qt多线程
【原文】http://www.cnblogs.com/hicjiajia/archive/2011/02/03/1948943.htmlQT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操转载 2015-06-14 20:37:59 · 992 阅读 · 0 评论 -
Qt开发:TCP和UDP网络通信
【原文】http://wuyuans.com/2013/03/qt-socket/这篇文章简洁清晰TCP客户端#include QTcpSocket *client;char *data="hello qt!";client = new QTcpSocket(this);client->connectToHost(QHostAddress("10.21.11.66"),转载 2015-06-13 23:13:35 · 4710 阅读 · 0 评论 -
Qt开发:Qt显示图片的三种方法
方法一Qlabel的setPixmap函数。方法二重写paintEvent函数,在里面进行图片的绘制。方法三用widget的setStyleSheet函数进行QSS的订制,可以加载各种图片效果ps:其中第一种、第三种方法的绘制效果比较高,第二种效率低容易卡顿。所以一般显示图片用第一种,当有复杂需求比如半透明效果时用第三种,除非是开发画板之类的程序原创 2015-06-28 21:38:15 · 7342 阅读 · 0 评论 -
Qt开发:Qt中打开网址
两种方法1.qlabel拖一个label控件,然后设置如下ui->label->setText("baidu");ui->label->setOpenExternalLinks(true);点击就调到页面了。2.QUrl引入头文件#include 然后,比如在某个button的方法里写QUrl url="http://www.baidu.com";QD原创 2014-12-16 21:35:07 · 2578 阅读 · 0 评论 -
Qt开发:DOM解析xml实现读、写、增、删、改
qt提供了三种方式解析xml,不过如果想实现对xml文件进行增、删、改等操作,还是DOM方式最方便。 项目配置pro文件里面添加QT+=xmlinclude <QtXml>,也可以include <QDomDocument>pro文件:QT += core xmlQT -= guiTARGET = xmltestCONFIG += co...原创 2015-01-27 21:41:25 · 24636 阅读 · 18 评论 -
windows下QT creator+openCV配置和使用
网上的教程都是教怎么用minGW和cmake编译opencv然后再导入,简直太麻烦了,不利于新手,这里有个简单的方法。1.安装qt sdk我装的是qt 5.3 msvc版32位,内置了qt creator,直接用windows带的msvc编译器。2.安装opencv我装的是opencv2.4.9,解压到D盘根目录下了。3.在qt creator中建一个标准的控制台C++工程原创 2014-12-11 20:27:04 · 14624 阅读 · 8 评论 -
Qt开发:windows下发布动态编译程序
Qt开发发布程序有两种:静态编译和动态编译。静态编译将所有用到的库及资源文件打包成一个exe执行文件,能保证在不同的机器上都能运行,不依赖于某个运行库。动态编译只生成一个最小的可执行exe,其他的依赖库dll需要与exe一起打包,这样的好处是体积小,不过在不同的机器上可能会出现丢失dll的问题。Qt-creator默认情况下是动态编译的,本文只讨论动态编译的情况下发布Qt开发的原创 2015-02-08 20:20:16 · 2790 阅读 · 0 评论 -
Qt开发:无边框异形窗口,透明背景,可移动
很多端游的启动器客户端都是异形窗口,无边框,自绘并重写了最小化、最大化、关闭按钮。本文具体讲一下实现。步骤:1,设置窗口透明度、窗口无边框样式、窗口背景透明。2,准备ps过的带透明通道的不规则png图片,设置为窗口背景。3,重写鼠标事件实现窗口移动。看效果:背景是EA大作《镜之边缘》上代码:mainwindow.h原创 2015-02-13 00:41:09 · 10364 阅读 · 2 评论 -
Qt开发:最小化到托盘
其实qt的帮助文档里面有个例子,另外很多api在QSystemTrayIcon类里面。首先建立Qt的gui工程,本文默认都带了ui文件,如果不带ui文件,需要在程序里手动代码写ui,所有代码都未修改main.cpp,就不贴了。 初级mainwindow.h#include #include #include namespace Ui {class MainWin原创 2015-02-12 18:10:12 · 6213 阅读 · 3 评论 -
Qt开发:生成pdf文件
Qt4中用QPrinter实现QPrinter不止可以操作打印机来打印纸张文件,并且可以将文件保存至磁盘,存储为pdf格式的文件。首先在pro文件中加入 QT+=printsupport然后包含头文件 #include 文本生成pdf: //文本生成pdf QPrinter text_printer; //文本生成不要设置resolution,否原创 2015-02-07 15:56:49 · 13651 阅读 · 4 评论 -
unity开发:Qt C++与unity之间UDP网络通信
再试试UDP通信,发送速度快,更加灵活UDP实际相当于是对等通信,不用简历连接,但是这里为了有个server的概念,在服务端绑定了端口,而客户端则是发送时随机分配的端口Qt C++服务端简历gui工程,pro里面加入network模块,界面放一个label,两个buttonwidget.h#ifndef WIDGET_H#define WIDGET_H#inclu原创 2015-06-14 12:09:59 · 9329 阅读 · 3 评论 -
Qt小游戏开发:俄罗斯方块
作为一个即将步入游戏行业的新人,手写经典小游戏是必备技能哦。预览由于录屏软件的问题,颜色和帧率与实际有所出入,不过不影响。步骤1 新建工程建一个基类为QWidget的QT gui工程,实际过程中所有gui代码包括界面布局都是手巧的,所以其实不需要简历ui文件。2定义游戏数据结构游戏场景和方块都用二维数组存储,有方块的存1,无方块的存0场景数据...原创 2015-05-25 10:43:57 · 24132 阅读 · 43 评论 -
Qt开发:打开外部程序
Qt打开外部程序//1.通过调用系统函数system("opt/myApp"); //这是linux下的,windows下可以用WinExec等函数//2.通过QProcess,阻塞调用QProcess::execute("/opt/myApp"); //绝对路径和相对路径都可以,windows下要带exe后缀,系统应用如记事本notepad可直接输入打开//3.通过QProces原创 2015-06-02 21:31:27 · 7365 阅读 · 1 评论 -
Qt开发:列表QTableView列添加Button
在列表里面添加任何其他组件,比如Button,一般都需要继承delegate,然后继承后重绘,但是这样过于复杂,这里有一个简单的方法,理论上可以扩展到任何组件以单个window里面添加到表格为例代码mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include &lt;QMainWindow&gt;class MainWi...原创 2018-10-26 09:53:13 · 22163 阅读 · 7 评论