qt
qt相關的所有文章
weixin_45661658
这个作者很懒,什么都没留下…
展开
-
qt使用 barcode scanner
查看系統硬件表,確認條形碼掃描器是鍵盤輸入,還是com口,我的是鍵盤輸入:代碼中重寫 keyevent:void MainWindow::keyPressEvent(QKeyEvent *event){// qDebug()<<event->count(); emit sig_barcode(event->text());}這樣就能讀到barcode scanner的數據了;附加:1 我遇到了,啓動軟件后,可以讀到,但是切換界面后(其中有很多邏輯原创 2021-10-02 18:24:38 · 323 阅读 · 0 评论 -
c++ qt lambda表達式參數值不一樣的bug
我在一個方法中使用了QTimer和lambda表達式,後來發現傳入的參數的值變了,找了一下,終於知道了bug的原因,錯誤代碼如下:void ModbusManagement::checkResult(Modbus_Order order){ qDebug()<<"check PLC:"; qDebug()<<"order type is :"<<order.order_type<<order.boxOut_id<<order.e原创 2021-08-11 10:12:21 · 131 阅读 · 0 评论 -
qt 實現配置文件
項目開發的時候,都需要實現配置文件:用於啓動的時候讀取數據;qt中有個方便實現配置文件的接口:QSettings;QString fileName; fileName = QCoreApplication::applicationDirPath(); fileName += "/SetConfigPara.ini"; qDebug()<<fileName; QSettings settingcfg(fileName, QSettings::IniForma原创 2021-07-07 15:17:10 · 228 阅读 · 0 评论 -
qt client端代碼
.h#ifndef CLIENT_H#define CLIENT_H#include <QObject>#include<QTcpSocket>#include<QThread>#include<QTimer>#include"common.h"class Client : public QObject{ Q_OBJECTpublic: explicit Client(QObject *parent = nullptr原创 2021-07-01 17:14:42 · 331 阅读 · 0 评论 -
qt server代碼
.h#ifndef SERVER_TEST_H#define SERVER_TEST_H#include <QObject>#include<QTcpServer>#include<QTcpSocket>#include"common.h"class Server_Test : public QObject{ Q_OBJECTpublic: explicit Server_Test(QObject *parent = nullptr原创 2021-07-01 17:13:07 · 139 阅读 · 0 评论 -
qsocket 無法讀寫
被qsocket卡了一天,bug是無法讀寫,後來發現是因爲多綫程的原因:void Client::Init(){ socket_ = new QTcpSocket(); socket_->connectToHost("127.0.0.1",27015); if(socket_->waitForConnected(1000)) { qDebug()<<"cann't connect server\n";// QThread::原创 2021-07-01 15:31:06 · 121 阅读 · 0 评论 -
qlabel導致的程序崩潰
Label沒有初始化pixmap的話:QImage name_img = ui->label_store_multi_name->pixmap()->toImage();這樣程序會崩掉;解決方案:if(ui->label_store_multi_name->pixmap() == nullptr) { qDebug()<<"ui->label_store_multi_name has no image"; re原创 2021-07-01 10:44:03 · 556 阅读 · 0 评论 -
QSqlDatabase: QMYSQL driver not loaded
qt 中 mysql 使用問題:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QIBASE QSQLITE QMARIADB QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7原因:mysql不是開源的了,所以qt就不真正支持mysql了,需要自己安裝driver,有官方的幫助文檔:官方文檔我用的是msys2,直接安裝pkg就可以了:官方包效果如下:...原创 2021-06-28 15:52:11 · 212 阅读 · 0 评论 -
清空QTableView和QTableWidget
清空QTableView:ui->tableView_store_multi->setModel(table_store_multi_model_);//由於TableView一般使用model,所以直接清空modeltable_store_multi_model_->setRowCount(0);清空QTableWidget://清空内容ui->tableWidget_take_customer_takepage->clearContents();//清空行數原创 2021-06-23 13:42:06 · 545 阅读 · 0 评论 -
tableview中的勾選
Tableview的點選功能:進入clicked的槽,進行定位和字符判斷,然後修改字符;void MainWindow::on_tableView_store_multi_clicked(const QModelIndex &index){ if(index.isValid()) { if(index.column() == 2) { //qDebug()<<table_store_multi_model_...原创 2021-06-22 10:20:54 · 105 阅读 · 0 评论 -
如何使用SDK
什麽是lib:library,庫的意思;如果用過cmake的話,就會比較理解lib的含義:比如以下cmake代碼就生成了一個lib:add_library(astar Astar.cc Astar.h CoAstar.cc CoAstar.h PathPlanner.h PathPlanner.cc)install(TARGETS astar DESTINATION lib)install(FILES Astar.h CoAstar.h PathPlanner.h DESTINATION incl原创 2021-06-08 17:20:18 · 3314 阅读 · 0 评论 -
QLabel 換行
使用’\n’就可以了:ui->label_store_single_showImage->setText(QString(tr("高:")+"%1"+"\n"+tr("長:")+"%2"+"\n"+tr("寬:")+"%3") .arg(height).arg(length).arg(width));原创 2021-06-08 11:15:36 · 68 阅读 · 0 评论 -
QPiamap中load函数的路径
@TOC:相对路径load("/test.png");图片与.pro文件放在同一个目录;绝对路径load(“c:\test.png”);图片放在c盘下面;欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown...原创 2020-01-16 11:44:15 · 191 阅读 · 0 评论 -
qt,mqtt,通信
总体步骤:1 new client(客户端),成功后,2 subjection(订阅),3 读写等操作;1 client代码:m_client = new QMqttClient(); // 获取client//设定clientm_client->setHostname(“127.0.0.1”);m_client->setPort(1883);m_client->se...原创 2020-05-08 17:29:03 · 355 阅读 · 0 评论 -
qt,学习日志
1 qt调试:stack可以用于程序崩了的时候,检查哪里出了问题;2 qt语法,报错:QObject::killTimer: Timers cannot be stopped from another threadQObject::~QObject: Timers cannot be stopped from another thread跨线程使用qtimer的时候,直接new QTime...原创 2020-05-08 17:08:55 · 198 阅读 · 0 评论 -
QObject::killTimer: Timers cannot be stopped from another thread QObject::~QObject: Timers cannot be
跨线程使用qtimer的时候,不要给qtimer加父对象;原创 2020-05-07 10:13:22 · 1805 阅读 · 2 评论 -
qt,多线程
//1 学习线程;//两个对象:一个主对象,一个副对象,两个线程不一样,一般是主是界面,副是通信,这样界面不会因为通信而卡住,//主对象,包含:子线程,副对象;//m_secondObj.movetothread(m_thread);m_thread.start();m_secondObj.func();//关键来了:副对象中的func全部定义成另一种模式:原来的func: func...原创 2020-05-06 10:29:34 · 93 阅读 · 0 评论 -
qtablewidget
1样式表以及作用:QTableWidget整体样式的设计:QTableView {color: rgba(255,255,255,1); /表格内文字颜色/gridline-color: rgba(152,152,152,1); /表格内框颜色/background-color: rgba...原创 2020-04-21 15:15:35 · 286 阅读 · 0 评论 -
qt,文件
读写文件:#include//要包含的文头件 QFile file(“test.txt”);//设置文件名,这个文件会在build文件夹下面,如果运行debug文件夹里面的exe的话,会自动创建在debug文件夹里面。 if(!file.open(QIODevice::ReadWrite))//以写或...原创 2020-04-21 15:12:02 · 92 阅读 · 0 评论 -
自定义信号,vtable错误
自定义信号signal,由于头文件中缺少Q_OBJECT,导致emit signalfunction;无法编译通过, 每当你添加一个新的调用Q_OBJECT宏,你需要再次运行qmake。(不然会有相关错误:链接器错误:未定义引用’vtable)...原创 2020-04-21 15:11:02 · 115 阅读 · 0 评论 -
自定义控件
使用自定义的控件的时候,比如mylabel,要注意构造函数,和继承的基类要改变:将mylabel.cpp和mylabel.h中的两个文件中继承QWidget修改成QLabel,因为这个是自定义的Label标签代码如下:mylabel.cpp中MyLabel::MyLabel(QWidget *parent) : QLabel(parent)mylabel.h中#include cla...原创 2020-04-21 15:10:11 · 109 阅读 · 0 评论 -
事件重载
event()事件分发处理函数,可以通过重载来看到事件分发,重载需要在.h中加入重载声明: bool event(QEvent *event);.cpp中写入想要重载的函数体:bool MainWindow::event(QEvent *e){ if(e->type() == QEvent::KeyPress){...原创 2020-04-21 15:09:23 · 236 阅读 · 0 评论 -
qt 写入文件
写入文件的时候,如果想清空之前的文件内容: file.resize(0); file.write(“hello”);原创 2020-04-21 15:08:02 · 119 阅读 · 0 评论 -
鼠标按住拖动
tablewidget中拖动列并自动记录的信号是sectionMoved(int logicalindex,int oldindex,int newindex);//logicalindex是列创建的时候最初的逻辑索引,不会因为列被拖动而改变;oldindex是拖之前的索引,newindex是拖动后的索引;connect(ui->tableWidget->horizontalHea...原创 2020-04-21 15:07:15 · 420 阅读 · 0 评论 -
在qlabel中使用html语句
在qlabel中使用html语句ui->label->setText("<font color=red size=>hello world ");//字体设置的头,加粗;ui->label->setText(QString(“hello world “)+QString(“huangxinyi”));//上段代码可知 :html语句可以和一般的字符串一样使...原创 2020-04-21 15:04:58 · 775 阅读 · 0 评论 -
QSettings的使用:
QSettings的使用://1.创建和读取一样 QSettings* setting = new QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat, this);//config.ini文件在debug文件夹下面,如果以及有了confi...原创 2020-04-21 14:55:04 · 348 阅读 · 0 评论