日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

C/C++之QT攻略——在QT中容易遇到的那些坑,千万别踩了!

發(fā)布時(shí)間:2025/3/15 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++之QT攻略——在QT中容易遇到的那些坑,千万别踩了! 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

(1)QUdpSocket接收數(shù)據(jù)

進(jìn)入槽后,要用這種方式讀取,否則可能會(huì)導(dǎo)致不發(fā)readyRead()信號 。

while(udpSocket->bytesAvailable())

{

udpSocket->readDatagram(ch,size);

}

(2)QTcpSocket刪除

一定要用deleteLater

一定要用deleteLater

一定要用deleteLater

否則會(huì)導(dǎo)致用戶對象溢出

(3)運(yùn)行文件附帶調(diào)試輸出窗口

CONFIG += console pro

配合->http://github.com/851896022/QLog

(4)可以在pro文件中寫上標(biāo)記版本號+ico圖標(biāo)

VERSION = 2019.08.08

RC_ICONS = main.ico

(5)解決socket傳輸后等中文亂碼

轉(zhuǎn)成base64傳輸

QByteArray(QString.toStdString().data()).toBase64()

(6)QT連接MySql后,長時(shí)間無操作(默認(rèn)8小時(shí))會(huì)斷開。

isOpen()等函數(shù)無法判斷,需執(zhí)行sql語句才能發(fā)現(xiàn)失敗

QSqlDatabase.setConnectOptions("MYSQL_OPT_RECONNECT=1");

↑斷開后可自動(dòng)重連

(7)在槽使用sender()函數(shù)可獲取到發(fā)出信號的對象的指針。

(8)子線程中使用QAxWidget不成功,原因是在QApplication的主線程中,會(huì)自動(dòng)初始化COM庫,而新開辟的子線程不會(huì)自動(dòng)初始化COM庫,所以需要我們手動(dòng)來初始化。

//添加頭文件

#include

//在線程開始的時(shí)候初始化COM庫:

HRESULT r = OleInitialize(0);

if (r != S_OK && r != S_FALSE)

{

qWarning("Qt:初始化Ole失敗(error %x)",(unsigned int)r);

}

使用結(jié)束后需要釋放掉:

OleUninitialize();

(9)file.write()以后調(diào)用file.flush()避免數(shù)據(jù)在緩存中未成功寫入。

(10)延時(shí)。

{

QEventLoop loop;

QTimer t;

connect(&t,SIGNAL(timeout()),&loop,SLOT(quit()));

t.start(1000);

loop.exec();

}

(11)別用QWidget布局,別問我怎么知道的。

(12) 對QLCDNumber控件設(shè)置樣式,需要將QLCDNumber的segmentstyle設(shè)置為flat。

(13)QTimer::singleShot 計(jì)時(shí)器單次觸發(fā),有時(shí)會(huì)有意想不到的效果

(14)QByteArray 有toHex 有fromHex 有toBase64有fromBase64

希望對你有幫助~

學(xué)習(xí)C/C++編程,提升自己的編程能力,歡迎關(guān)注博主。

總結(jié)

以上是生活随笔為你收集整理的C/C++之QT攻略——在QT中容易遇到的那些坑,千万别踩了!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。