QT 5.9学习笔记
酒与花生米
这个作者很懒,什么都没留下…
展开
-
QT5.9学习笔记之QT编译使用tolua++
上一节讲了QT怎么编译lua库,但是lua库与C++交互的时候,如果要使用C++类,将会很繁琐。因此我们使用tolua++来帮助我们便捷的让C++类给lua调用,编译tolua++与编译lua库方法相同,如果不知道怎么编译lua库,请先看上一节。QT5.9学习笔记之QT编译lua库 传送门一 、编译准备1.1.编译环境OS:win10编译器:Mingw 32 bitQT版本:QT 5.91.2.编译文件lua-5.1.5tolua-1.0.93二、编译步骤2.1.文件下载csdn 传原创 2021-01-16 17:59:09 · 299 阅读 · 0 评论 -
QT5.9学习笔记之QT编译lua库
一、编译准备1.1.编译环境OS:win10编译器:Mingw 32 bitQT版本:QT 5.91.2.编译文件lua-5.1.5二、编译步骤2.1.文件下载csdn传送门 打包 lua源码+编译的库+测试项目+tolua++lua官网传送门 下载版本lua-5.1.5打开lua-5.1.5.tar.gz压缩文件后,我们只要src这个文件夹的文件,解压出来。2.2.建立QT项目项目命名lualib这里选静态库编译器我是mingw 32 bit去掉勾选的QtCore原创 2021-01-16 16:45:56 · 1200 阅读 · 1 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(终篇)
从开始做这个游戏到目前一共花了差不多3天了,作为一个阶段性的小项目,目前已经达成了学习的目标。虽然在制作的过程中难免有一点小困难,但是看着自己从代码一步步完成这个项目还是挺开心的,也在其中学习到很多知识。目前只实现了PVP的功能,实现两种方式绘制界面,其实还有很多想法,但是苦于没有时间,也只能先放一放。好了效果代码放上:...原创 2021-01-08 15:02:29 · 255 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(六)
这一节实现了游戏的一些基本判断功能以及棋子移动,接下来将要实现吃子规则,由于代码较多直接上传了。代码地址:原创 2021-01-08 11:23:20 · 258 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(五)
本节完成 棋盘初始化#ifndef BOARD_H#define BOARD_H#include <QMainWindow>#include <QPainter>#include "chesshandler.h"#include "chess.h"#include "judge.h"#include "player.h"#include<QMouseEvent>class Board : public QMainWindow{ Q_OB原创 2021-01-07 18:08:33 · 208 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(四)
本节完成:检查点击位置是否合法,翻棋功能。原创 2021-01-07 16:29:36 · 147 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(三)
上一节我们用图片棋盘美化,这一节我们开始绘制棋盘,以及设计棋子类,并且可以用绘图和图片两种方式显示棋盘和棋子,代码效果如下:图片模式下效果:绘图模式下效果:#ifndef BOARD_H#define BOARD_H#include <QMainWindow>#include <QPainter>#include "chess.h"class Board : public QMainWindow{ Q_OBJECTpublic: //ches原创 2021-01-07 12:50:12 · 255 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(二)
上一节绘制了一个简单的棋盘,这一节将棋盘美化,以及绘制棋子。效果如下:#include "board.h"Board::Board(QWidget *parent) : QMainWindow(parent){}Board::~Board(){}void Board::paintEvent(QPaintEvent *){ ////////////////画棋盘 开始/////////////////////////////// //设置背景图片原创 2021-01-06 22:03:32 · 202 阅读 · 0 评论 -
QT5.9学习笔记之中国象棋暗棋游戏(一)
学习QT已经有几天了,做一个阶段性的小项目来熟练QT的使用,刚好学到绘图这一章,就一步步做一个暗棋游戏。首先了解一下暗棋游戏基本知识:每方共32个,分为红黑双组,各16个,双方轮流执行:红棋子:兵5个、炮2个、车2个、马2个、相2个、仕2个、帅1个共16个棋子。黑棋子:卒5个、炮2个、车2个、马2个、象2个、士2个、将1个共16个棋子。首先进行棋盘的绘制,棋盘共32个格子。共9根竖线,5根横线。效果:代码如下://.h文件#ifndef BOARD_H#define BOARD_H原创 2021-01-06 18:05:27 · 548 阅读 · 1 评论 -
QT5.9学习笔记之 QByteArray使用注意
QByteArray::data返回的是内部指针,QByteArray没了data就没了,所以如果想保存就要memcpy或者拷贝一个副本//////////头文件class test{ public: QByteArray a; QByteArray geta();}//////cpp文件 QByteArray test::geta(){ return a; }int main(){ class test; //错误c指向的地址 char * c=原创 2021-01-05 23:31:03 · 1032 阅读 · 0 评论 -
QT5.9学习笔记之使用QSqlQuery的方法
使用QSqlQuery操作mysql数据库进行查找,插入,更新数据void dbopen(){ QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("192.168.200.129"); db.setUserName("root"); db.setPassword("123456"); db.setPort(3306); qDebug()<<db.open(); thi原创 2021-01-04 17:33:03 · 1387 阅读 · 0 评论 -
QT5.9学习笔记之使用QT连接MYSQL数据库
使用QT5.9连接mysql时,需要做以下几步配置1.pro文件添加QT += sqlvoid MainWindow::on_pushButton_connectmysql_clicked(){ QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("192.168.200.129"); db.setUserName("root"); db.setPassword("123456"); db原创 2021-01-03 22:53:21 · 1190 阅读 · 0 评论 -
QT5.9学习笔记之将整数型数据转换为固定长度十六进制字符串
将整数1000转换为00 00 03 E8方法一:QString SetHex(int num,int bit){ if(bit%2) return "";//invaild bit QString hexnum; hexnum.fill('0',bit*2); hexnum.push_back(QString::number(num,16)); hexnum=hexnum.toLatin1().toUpper(); return hexn原创 2021-01-03 20:09:53 · 1389 阅读 · 0 评论 -
QT学习笔记之static成员函数的使用
在今天的学习中,想要使用static成员函数但是QT报错cannot declare member function to have static linkage检查发现是static使用错误,记下防止以后错误。//头文件class test{ public: test(); ~test(); static int fun();}//cpp文件//错误用法。static int test::fun(){ cout<<"test";}//正确用法int te原创 2021-01-03 19:23:23 · 1742 阅读 · 2 评论 -
QT5.9学习笔记之添加软件图标
第一步:在QT的pro文件中添加RC_ICONS = logo.ico第二步创建一个资源文件,将 logo.ico放入,最后运行qmake即可原创 2021-01-02 15:59:49 · 378 阅读 · 0 评论 -
QT5.9学习笔记之QByteArray与QDataStream生成二进制文件
二进制的文件的文件头为16字节,其组成为44 33 22 11 +4字节文件总数*64+填充00例如:44 33 22 11 40 00 00 00 00 00 00 00 00 00 00 00代表只有1个文件使用QT的QByteArray来构造这个文件头,代码如下QByteArray MakePackHead(qint32 filenum){ QByteArray head=QByteArray::fromHex("44332211"); qint32 num=filen原创 2021-01-02 15:43:30 · 2559 阅读 · 0 评论 -
QT出现:: warning: The build directory needs to be at the same level as the source directory.警告
QT迁移项目目录后,打开后出现警告warning: The build directory needs to be at the same level as the source directory.解决办法:将目录改成迁移后的目录。原创 2021-01-02 14:51:02 · 3266 阅读 · 0 评论 -
QT5.9学习笔记之windos10下编译打包成为exe程序
第一步:选择release模式,构建并运行,完成之后找到源文件目录的release文件夹,找到生成的exe文件,此时的exe文件无法运行,先复制exe到其他地方,进行下一步处理。第二步:选择编译器,我选择的是MinGW,切换到刚刚保存exe文件的目录下,执行:windelopyqt filename.exe (输入你保存的文件名带后缀),完成后exe程序可以运行。第三部:使用Enigma Virtual Box进行封包,需要自己下载Enigma Virtual Box这个软件。原创 2020-12-30 11:02:33 · 318 阅读 · 0 评论 -
QT 5.9学习笔记之实现汉字16进制相互转换
实现字符串转换为十六进制void HandleMoudle::StringToHex(){ if(m_instr.isEmpty()) //check input string is empty return; m_outstr.clear(); //clear return string m_outstr=m_instr; QTextCodec *codec=QTextCodec::codecForName("GBK"); //set原创 2020-12-30 10:30:41 · 1551 阅读 · 0 评论