
QT
MC_J
一切从Hello,World开始
展开
-
QT队列的使用(QQueue)
头文件#include<QQueue>/*定义一个队列 <>中的类型也可以是自己定义的结构体烈性*/QQueue<uint8_t> queue; /*入队列*/queue.enqueue(128); /*出队列*/uint8_t num = queue.dequeue(); /*队列判空,返回boo类型*/queue.isEmpty(); /*队列元素个数,返回队列中还有多少..原创 2022-01-27 15:36:28 · 11204 阅读 · 0 评论 -
Linux4.19内核使用 NETTLINK bind绑定失败
在linux4.19的内核使用NETTLINK 时发现总是绑定失败,但是在linux2.6的内核使用时不会出现这种情况。static void * usb_dev_plug_check(void *arg){ int ret = 0; fd_set rset; int nread = 0; struct timeval select_timeout; pthread_set_name("usb_plug_chk"); // 本函数返回值...转载 2020-12-09 09:27:51 · 870 阅读 · 0 评论 -
关于QT5.14.0不能打包应用程序的问题
使用QT5.14.0时,打包应用程序报错,查阅资料发现时QT5.14.0的BUG。解决方法:下载5.14.1,问题解决,亲测可用。原创 2020-03-31 14:49:19 · 858 阅读 · 0 评论 -
关于QT报C:\Program Files (x86)\sogoupinyin\Components\的错误
1.首先就是程序爆出了这样一个问题2.接着查看QT报错信息C:\Program Files (x86)\sogoupinyin\Components\15:53:55: 程序异常结束。发现报错信息很奇怪,为什么是个搜狗拼音。3.最后发现是使用指针的问题使用了未初始化的指针。遇到这种情况就去查看自己的指针在哪里用错了。...原创 2019-12-03 15:59:47 · 4475 阅读 · 0 评论 -
关于QT5.13.1或者其他版本串口readyRead信号不产生的解决方法
在网上找了各种各样的资料,各种改程序,到最后还是发现,信号不产生,最后只能使用阻塞的方式去读串口接收的数据。不过不甘心,一直在寻求到底程序哪里写错了。最后发现找到原因,不是程序的问题,是这个版本的QT的BUG,可以现在更新到5.13.2,就可以解决,不只是5.13.1有这个问题,还个别版本存在这个问题,所以只有更新软件版本了。...原创 2019-11-19 17:32:03 · 3267 阅读 · 10 评论 -
QT之QCharts的使用(绘制折线图)
一、画折线图1.修改.pro文件在里面添加QT +=charts2.MyWidget.h程序#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>/*添加以下三个头文件*/#include <QtCharts>#include <QChartView>...原创 2019-10-17 14:59:34 · 16445 阅读 · 10 评论 -
QT打包应用程序
一、以Release运行程序二、找到程序保存的目录会有一个名字很长的release的build三、复制.exe文件到一个新的文件夹中可以看到一个.exe文件,复制到一个新文件夹中四、在win10界面搜索打开MinGw五、使用命令进入刚才新建的存有.exe文件夹cd/d D:\draw解释:cd/d 是命令 ,D:\draw是文件夹的路径六、使...原创 2019-10-17 11:19:00 · 305 阅读 · 0 评论 -
QT之线程的使用
一、基本使用方式1.创建线程类继承于Thread(1).h#ifndef MYTHREAD_H#define MYTHREAD_H#include <QThread>class MyThread : public QThread{Q_OBJECTpublic:explicit MyThread(QObject *parent...原创 2019-10-16 14:02:43 · 299 阅读 · 0 评论 -
QT之TCP通信程序
使用网络编程,要在项目文件中添加 QT+=network;一、服务器程序#include "serverwidget.h"#include "ui_serverwidget.h"ServerWidget::ServerWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::ServerWidget){ ...原创 2019-10-15 11:15:58 · 246 阅读 · 0 评论 -
QT文件操作(QFile、QDataStream、QTextStream、QBuffer)
QFile一、读文件1.读全部void MyWidget::on_readFileButton_clicked(){QString path = QFileDialog::getOpenFileName(this,"open","../","TXT(*.txt)"); //最后两个参数分别为,默认路径和默认筛选格式if(path.isEmpty(...原创 2019-10-14 14:51:48 · 1702 阅读 · 0 评论 -
QT制作不规则窗口
一、给窗口绘图void Widget::paintEvent(QPaintEvent *event){QPainter p;p.begin(this);p.drawPixmap(0,0,600,600,QPixmap(":/new/picture/1206196.png"));p.end();}二、设置窗口属性...原创 2019-10-12 16:53:43 · 281 阅读 · 0 评论 -
QT绘图设备的使用
一、绘图设备QPixmap:针对屏幕进行了优化和平台相关,不能对图片进行修改QImage:和平台相关,可以对图片进行修改,在线程中绘图QPicture:保存绘图的状态(二进制文件)二、QPixmap绘图QPixmap pixmap(400,300);QPainter p;p.begin(&pixmap);// ...原创 2019-10-12 15:04:05 · 333 阅读 · 0 评论 -
信号和槽的使用
一、mywidget.h #ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>#include <QPushButton>#include "subwidget.h"class MyWidget : public QWidget{ Q_OBJECTpublic: MyW...原创 2019-10-05 15:47:35 · 697 阅读 · 0 评论 -
QT拷贝他人代码出错的问题
这个是QT的工程目录,其中可以看到一个.user的文件,这个就是导致拷贝他人程序出错的地方,因为这里保存着用户的一些配置,可能与自己的配置不同,从而导致编译出错。 解决方法:很简单,删除这个这个文件,然后重新编译一下就可以了。...原创 2019-10-05 15:54:40 · 887 阅读 · 0 评论 -
QT之Lambda表达式的使用
一、程序1.connect(b1,&QPushButton::clicked,[](){qDebug()<<"hello";});点击按钮式,就会直接debug输出。2.co...原创 2019-10-05 23:38:07 · 510 阅读 · 0 评论 -
5.模式、非模式、标准、文件对话框的使用范例
#include "mainwindow.h"#include <QMenuBar>#include <QMenu>#include <QAction>#include <QDialog>#include <QMessageBox>#include <QDebug>#include <QFileDia...原创 2019-10-07 15:13:39 · 117 阅读 · 0 评论 -
QT设计器的基本使用方法
一、拖放控件二、修改属性在属性栏中可以修改objectName(对象名),text(按钮上的文本)三、MainWindow的菜单栏可以直接添加,记住回车保存,在添加二级目录“打开”时,发现无法输入中文,解决方法就是,先输入英文,然后像修改Button控件上的文本一样,在属性栏中进行修改。四、信号和槽的添加设计窗口下方可以看到信号和槽的编辑框...原创 2019-10-09 14:22:23 · 1239 阅读 · 0 评论 -
QT样式表的使用(CSS)
一、颜色的设置1.比较常用的颜色设置ui->label->setStyleSheet("QLabel{color:red;}");2.使用RGB的方式设置颜色通过0-255的数值调节颜色,可以设置所有想要的颜色ui->label->setStyleSheet("QLabel{color:rgb(0,255,255);}");3.设置所有label都应...原创 2019-10-10 15:58:17 · 2870 阅读 · 1 评论 -
QT中的强制类型转换
当使用C语言那种形式的强制转换,发现QT会给出一个使用旧的方式的警告。所以在QT中使用如下类型转换,就不会有警告,而且这种方式的强制转换更加的安全。(1)dynamic_cast<类型>(要转换的对象):用于转换基类和派生类。(2)const_cast<类型>(要转换的对象):用于const和volatile的转换。(3)reinterpret_cast<...原创 2019-10-11 14:18:07 · 5117 阅读 · 1 评论 -
QT事件
一、鼠标事件1.声明事件,然后再cpp文件中去实现 //鼠标点击事件void mousePressEvent(QMouseEvent *ev) override;//鼠标释放事件void mouseReleaseEvent(QMouseEvent *ev) override;//鼠标移动事件void mouseMove...原创 2019-10-11 15:06:46 · 226 阅读 · 0 评论 -
QT基本绘图(背景图、线、矩形、圆形、椭圆形)以及颜色风格的设置
一、绘制背景图void MyWidget::paintEvent(QPaintEvent *event){QPainter p;//创建画家对象p.begin(this);//指定当前窗口为绘图设备p.drawPixmap(0,0,width(),height(),QPixmap(":/new/picture/1206021.png")); /...原创 2019-10-11 16:44:28 · 7394 阅读 · 1 评论 -
QT5程序框架简单注释说明
一、main.cpp#include "mywidget.h"#include <QApplication>int main(int argc, char *argv[]){QApplication a(argc, argv);//这是应用程序类的对象,固定的框架 MyWidget w;//创建一个窗口对象w.show(); //窗口...原创 2019-10-04 23:47:04 · 526 阅读 · 0 评论