Qt Basic
文章平均质量分 75
Qt Basic
疯狂java杰尼龟
路漫漫其修远兮,吾将上下而求索
展开
-
Qt开发之路——SQlite的使用(简单粗暴)
SQlite是一个轻便的数据库,在Qt中有内置驱动,无需安装即可使用,非常方便。本文内容包括数据库的建创建,连接,打开,数据表的创建,数据表内容的增删改查操作。涉及的代码均为自己做的项目中的,没有考虑代码屯余问题,注释清晰,方便学习理解,有任何问题可以留言,共同进步~ok,上才艺~首先QT += sql数据库的创建,连接和打开qt_sql_default_connection是数据库默认名void Widget::createDatabase(){ //create and connec原创 2020-12-31 13:52:54 · 1906 阅读 · 0 评论 -
Qt开发之路——QSqlError(“1“, “Unable to execute statement“, “near \“.73\“: syntax error“)
问题:QSqlError(“1”, “Unable to execute statement”, “near “.73”: syntax error”)分析:QSqlError,说明是数据库的问题;Unable to execute statement,说明是数据库的某个操作失败了;再看syntax error,语法错误,这就更加确定是数据库的操作的sql语句有问题解决:检查发现if(!sql_query.exec(QString(“delete from realdata where id =原创 2020-12-31 13:28:27 · 6990 阅读 · 0 评论 -
Qt开发之路——判断QSlite数据表是否存在
//打开数据库//创建数据表realdatabool isTableExist = sql_query.exec(QString("select count(*) from realdata where type='table' and name='%1'").arg(("realdata")));原创 2020-12-29 14:50:35 · 791 阅读 · 1 评论 -
Qt开发之路——删除treeWidget所有行
treeWidget->clear();原创 2020-12-29 14:45:16 · 910 阅读 · 0 评论 -
Qt开发之路——整型与字符串 int与QString互转
( 1)QString转int直接调用toInt()函数例:QString str(“100”);int tmp = str.toInt();或者:bool ok;QString str(“100”);int tmp = str.toInt(&ok);注:ok表示转换是否成功,成功则ok为true,失败则ok为false。2)int转QStringQString::number();例:int tmp = 100;QString str = QString::number原创 2020-12-24 16:16:55 · 6446 阅读 · 2 评论 -
Qt开发之路——QStringList
QStringList类是QList的派生类,是字符串的列表类。QStringList可以使用QList的所有方法,如:append(), prepend(), insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast(), and removeOne()。原创 2020-12-23 15:17:31 · 597 阅读 · 0 评论 -
Qt开发之路——Sleep函数
#include <synchapi.h>synchapi.h是Qt自带的头文件Sleep(1000);延迟1s原创 2020-12-23 11:29:26 · 14210 阅读 · 0 评论 -
Qt开发之路——Json解析过程中遇到的readAll()清除内存缓冲区问题
记录一一个半天时间才发现的指针使用问题代码是这样的,下面为了得到token值而解析某段Json数据的代码,首先qDebug() << reply->readAll();打印出了之前post得到的QByteArray类型的reply数据(注意,这里是错误的源泉)。但是之后在 if (document.isObject())这步返回的就是false,bytes打印的结果我将其赋值给了s,也就是写死了Json数据时,解析是没有问题的,这就齐了怪了,想了很久没有发现问题,之后同事帮助我找到了问题原创 2020-12-21 16:41:04 · 2099 阅读 · 0 评论 -
Qt开发之路——返回数据类型
#include <typeinfo> int i = 1; QString j = typeid(i).name(); qDebug() << j;//输出 “int”原创 2020-12-21 10:11:46 · 1368 阅读 · 0 评论 -
Qt开发之路——delete和deletelater的区别
转自:https://blog.csdn.net/c54514331/article/details/80954352众所周知delete是C++和QT共有的一个操作符即时使用实时就析构删除了,而QT里的deletelater的原理是:QObject::deleteLater()并没有将对象立即销毁,而是向主消息循环发送了一个event,下一次主消息循环收到这个event之后才会销毁对象。 这样做的好处是可以在这些延迟删除的时间内完成一些操作,坏处就是内存释放会不及时。应用例子:父窗体的子窗体在focu转载 2020-12-17 16:13:51 · 1427 阅读 · 0 评论 -
Qt开发之路——QTreeWidgetItem设置数据背景颜色
QTreeWidgetItem* item//设置QTreeWidgetItem前面的复选框是否选中item->setCheckState(0, Qt::Unchecked);item->setCheckState(0, Qt::Checked);//设置QTreeWidgetItem是否处于选中,true时QTreeWidgetItem的背景色会别设置为浅灰色(默认背景色为白色)item->setSelected(true);item->setSelected(fals原创 2020-12-15 16:56:23 · 4526 阅读 · 0 评论 -
Qt开发之路——获取窗口位置和大小
//窗口左上角的位置(含边框) qDebug() << this->frameGeometry().x() << this->frameGeometry().y() << ;//1 qDebug() << this->x() << this->y();//2 qDebug() << this->pos().x() << this->pos().y();//3 .原创 2020-12-11 10:34:15 · 2445 阅读 · 0 评论 -
Qt开发之路——界面切换特效
参考了大佬写的文章https://blog.csdn.net/hezf_hero/article/details/50187483话不多说,直接上代码,说原理addid.cpp这是一个名为addid的ui界面,大佬使用了一个label来获取整个界面的的大小和图像,然后使用QPropertyAnimation 绑定,使用setDuration设置动画时长为1000ms,使用setStartValue和setEndValue来固定一个矩阵的位置,大佬巧妙的使用了QRect,QRect的方法前两个参数是矩原创 2020-12-09 15:22:04 · 1656 阅读 · 1 评论 -
Qt开发之路——按钮特效
效果:实现方式:设置样式表如下,按钮分为三种状态,原状态,悬浮鼠标状态和点击鼠标状态,分别设置对应的颜色即可。QPushButton#addid{border-style:outset;font: 75 18pt "Times New Roman";color:rgb(255, 170, 0);}QPushButton#addid{background-color: rgba(255, 255, 255, 0);} QPushButton#addid:hover{ backgr原创 2020-12-09 11:04:32 · 1785 阅读 · 0 评论 -
Qt父类及父对象的理解
闻一远帖,评论见解深刻,故记录之~class A : public QObject{Q_OBJECTpublic:QLocalServer* QLS;A(QObject *parent) : QObject(parent){QLS = new QLocalSocket(this);}~A(){delete QLS;}};在这段代码中,A类和QLocalSocket类均继承于QObject,虽然A类和QLocalSocket类之间并没有继承关系,但是由QLS = n转载 2020-12-08 10:48:18 · 2528 阅读 · 0 评论 -
模态和非模态对话框(简单易懂!)
什么是模态对话框、非模态对话框?模态对话框:用户想要对对话框以外的应用程序进行操作时,必须首先对该对话框进行相应,如单击【确定】、【取消】、【关闭】按钮等将该对话框关闭;常见的另存为文档就是模态对话框。非模态对话框:对话框打开的时候,用户依然可以操作其他窗口。参考:https://zhuanlan.zhihu.com/p/85559227...转载 2020-12-08 10:38:00 · 799 阅读 · 0 评论 -
Qt开发之路——xxprivate类的使用及意义
1.应用程序封装成so动态库时,需要提供头文件,此时为了把私有数据封装起来,就需要把私有数据封装成private的类,把它放在cpp文件而非h文件中,这样就把私有数据封装起来不给用户看了。动态链接库的好处是不言而喻的,一个稍微复杂一点的程序,顶层设计的时候良好的类库划分可以让工作变得很简单,而将不同类编译成共享库文件可以实现程序的模块化,提高代码复用程度。 2.在私有数据修改时,不用重新编译所有文件,只需要编译这个动态库就可以了,因为头文件并没有改变。参考:https://www.cnblogs.原创 2020-12-08 09:37:03 · 3892 阅读 · 0 评论 -
QT.和::和:和->
在学习C++的过程中我们经常会用到.和::和:和->,在此整理一下这些常用符号的区别。1、A.B则A为对象或者结构体2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;4、:一般用来表示继承;...转载 2020-12-07 15:17:30 · 1742 阅读 · 0 评论 -
QT-学习-构造函数理解
源自:https://www.cnblogs.com/god-of-death/p/7777692.htmlMainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ui->setupUi(this);}1、QMainWindow 是 MainWindow 的父类 2、...转载 2020-12-03 15:08:12 · 2729 阅读 · 0 评论 -
QtCore概述
前言偶然间看到QtCore库的引入,好奇它是做什么的?原来它是Qt的核心内容,也是最基本的模块。故仔细的整理一下,加深对Qt的理解,也便于开发。QtCore是Qt的最基础的模块,其他模块的基石,它体现了区别于其他开发平台的特有的内容。目录前言==**QtCore是Qt的最基础的模块,其他模块的基石,它体现了区别于其他开发平台的特有的内容。**==1、信号与槽(Signals&Slots)2、元对象系统(The Meta-Object System)3、对象模型(Object Model)4、对原创 2020-10-22 10:43:30 · 9077 阅读 · 0 评论 -
Qt5基础 为什么要使用线程?
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的为什么要使用线程部分做的记录,加深理解,方便回看。目录Qt5基础系列一、为什么要使用线程?1、头文件2、引入类3、主程序4、截图及分析二、总结一、为什么要使用线程?我们通过一个代码示例来解释:1、头文件声明了一个公有定时器槽函数和一个私有定时器变量,以及一个按钮点击事件。#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QTi原创 2020-09-23 16:47:37 · 602 阅读 · 0 评论 -
Qt5基础 QBuffer内存缓冲区读写
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QBuffer部分做的记录,加深理解,方便回看。目录Qt5基础系列一、QBuffer1、头文件2、引入类3、主程序4、结果截图二、总结一、QBufferQBuffer作为内存缓存,同样可以读写一些内容。1、头文件头文件采用模板,没有新定义。#ifndef WIDGET_H#define WIDGET_H#include <QWidget>QT_BEGIN_NAMESPACEnamespace Ui原创 2020-09-22 13:49:18 · 3761 阅读 · 0 评论 -
Qt5基础 QTextStream读写文本文件
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QTextStream操作文件部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、代码示例1、头文件2、引入类3、主程序三、总结一、简介QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。二、代码示例1、头文件主要定义了两个共有函数writeData();readData();还有一个按钮事件。#ifndef WIDGET_H#define WIDGET_H#incl原创 2020-09-22 12:11:51 · 3836 阅读 · 2 评论 -
Qt5基础 QDataStream读写文件
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QDataStream读写文件部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、代码示例1、头文件2、引入类3、主程序4、结果截图三、总结一、简介QDataStream提供了基于QIODevice的二进制数据的序列化。数据流是一种二进制流,这种流完全不依赖于底层操作系统、CPU 或者字节顺序(大端或小端)。由于数据流就是二进制流,因此我们也可以直接读写没有编码的二进制数据,例如图像、视频、音频等。二、代码示例原创 2020-09-22 10:11:19 · 2726 阅读 · 0 评论 -
Qt5基础 QFileInfo获取文件信息
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QFileInfo获取文件信息部分做的记录,加深理解,方便回看。目录Qt5基础系列一、代码示例1、引入类2、主程序二、总结一、代码示例1、引入类#include "widget.h"#include "ui_widget.h"#include <QFileDialog>#include <QFileInfo>#include <QDebug>#include <QDateT原创 2020-09-22 09:16:14 · 440 阅读 · 0 评论 -
Qt5基础 QFile写文件
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QFile写文件部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、QFile写文件1、头文件2、引入类3、主程序4、运行截图三、总结一、简介读写文件是非常常用的,而QFile是Qt5用于写文件的基类方法。二、QFile写文件1、头文件QWidget创建项目基础上定义点击按钮事件。private slots: void on_buttonWrite_clicked();2、引入类#inc原创 2020-09-21 17:58:10 · 2829 阅读 · 0 评论 -
Qt5基础 QFile读文件
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QFile读文件部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、QFile读文件1、头文件2、引入类3、主程序4、运行截图三、总结一、简介读写文件是非常常用的,而QFile是Qt5用于读取文件的基类方法。二、QFile读文件1、头文件QWidget创建项目基础上定义点击按钮事件。private slots: void on_pushButton_clicked();2、引入类#includ原创 2020-09-21 17:25:49 · 960 阅读 · 0 评论 -
Qt5基础 不规则窗口
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的不规则窗口部分做的记录,加深理解,方便回看。目录复制目录Qt5基础系列一、简介二、不规则窗口1、头文件2、引入类3、主程序4、结果截图三、总结一、简介不规则窗口可以实现去边框,去背景。主要用到两类方法,一个是setWindowFlags,setAttribute去除边框和设置背景透明(适用于背景透明的图片),另一个是mouseMoveEvent,mousePressEvent,鼠标移动和鼠标按下事件及相应。二、不规则窗口原创 2020-09-21 15:11:14 · 254 阅读 · 0 评论 -
Qt5基础 Qimage与QPixmap的转换
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的Qimage与QPixmap之间的转换部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、Qimage与QPixmap的转换1、引入类2、主程序3、结果截图三、总结一、简介1)QImage转QPixmap使用QPixmap的静态成员函数: fromImage()QPixmap fromImage(const QImage & image,Qt::ImageConversionFlags flags =原创 2020-09-21 11:56:32 · 6356 阅读 · 0 评论 -
Qt5基础 QPicture绘图设备
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QPicture部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、QPicture代码示例1、头文件2、引入类3、主程序4、结果截图三、总结一、简介这是一个可以记录和重现QPainter命令的绘图设备。 QPicture将QPainter的命令序列化到一个IO设备,保存为一个平台独立的文件格式。这种格式有时候会是“元文件(meta- files)”。Qt的这种格式是二进制的,不同于某些本地的元文件,Qt的pict原创 2020-09-21 10:49:01 · 611 阅读 · 0 评论 -
Qt5基础 QImage 对像素点着色
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的Qimage部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、QImage1、引入类2、主程序3、结果截图三、总结一、简介QPixmap使用底层平台的绘制系统进行绘制,无法提供像素级别的操作,而QImage则是使用独立于硬件的绘制系统,实际上是自己绘制自己,因此提供了像素级别的操作,并且能够在不同系统之上提供一个一致的显示形式。二、QImage1、引入类#include "widget.h"#includ原创 2020-09-21 09:52:27 · 2702 阅读 · 0 评论 -
Qt QLabel设置字体的颜色
转载自CSDN博客QT QLabel设置字体的颜色第一种,使用setPalette()方法如下:QLabel *label = new QLabel(tr("Hello Qt!"));QPalette pe;pe.setColor(QPalette::WindowText,Qt::white);label->setPalette(pe);第二种,使用样式表如下:setStyleSheet("color:red;"); //setStyleSheet("color:#ff6600;")转载 2020-09-18 16:32:32 · 3050 阅读 · 0 评论 -
Qt5基础 构造函数中使用QPixmap绘图设备
Qt5基础系列Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QPixmap绘图设备部分做的记录,加深理解,方便回看。目录Qt5基础系列一、简介二、QPixmap绘图设备1、引入类2、主程序3、结果截图三、总结一、简介绘图设备是指继承QPainterDevice的子类。Qt一共提供了四个这样的类,分别是QPixmap、QBitmap、QImage和 QPicture。本部分主要介绍了构造函数中使用QPixmap绘图设备。二、QPixmap绘图设备1、引入类#include "wi原创 2020-09-18 15:12:14 · 978 阅读 · 0 评论 -
Qt5基础 QPixmap和QBitmap的区别
Qt基础系列目录Qt基础系列一、简介二、QPixmap和QBitmap的区别1、头文件2、引入类3、主程序4、结果截图5、总结 Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的QPixmap和QBitmap的区别部分做的记录,加深理解,方便回看。一、简介以一张白色图片为例说明QPixmap和QBitmap的区别二、QPixmap和QBitmap的区别1、头文件protected: //重写绘图事件 //如果给窗口绘图,一定要在paintEvent()实现 /原创 2020-09-18 11:24:57 · 1778 阅读 · 0 评论 -
Qt5基础 背景图,绘图,点击事件
Qt基础系列 Qt基础的学习笔记。此文章为在B站上学习黑马程序员Qt教程的绘图部分做的记录,加深理解,方便回看。目录Qt基础系列一、简介二、绘图1、头文件2、引入api3、相关参数定义4、图片前进按钮转到槽5、主程序6、运行截图7、结果分析:一、简介 主要介绍了画背景图,绘图,点击事件二、绘图1、头文件protected: //绘图事件内部自动调用 void paintEvent(QPaintEvent *); //点击鼠标触发事件private slots:原创 2020-09-18 09:41:56 · 907 阅读 · 0 评论