日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Qt笔记1

發布時間:2025/3/17 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Qt笔记1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1、treewidget 樹形列表

2、使用布局管理器的步驟:1、擺控件(一組一組的擺放,放好一組就全選設定為一個局部布局);2、對幾個要排在一起的控件全選之后右擊選擇布局方式,然后再調一下大小;3、這樣一個一個的局部布局擺好之后,實現控件隨窗口變化的最重要的一步就是單擊主窗口,取消對控件的選擇之后,右擊主窗口,選擇一個頂級的布局方式,這樣就可以實現想要的效果了,但是這樣做的一個不足就是位置和大小又會有點小亂,可能是我沒找到具體調節設置的地方,繼續查找中

? 注意的是一定要在最后,即各個局部布局都設定好后,才設定頂級布局,之前看有些人寫的,有點害人,對初學者誤導很多。

3、shadow build : 創建項目的時候勾選這個選項,就會生成兩個文件夾,也就是debug會單獨放到一個文件夾中,不勾選的話整個項目就一個文件夾,debug和release都在主文件夾內

4、Vertical 垂直布局

? ? Horizontal 水平布局

5、例如我要在一個label上設置當前時間?
QDateTime time = QDateTime::currentDateTime();//獲取系統現在的時間
QString str = time.toString("yyyy-MM-dd hh:mm:ss ddd"); //設置顯示格式
label->setText(str);//在標簽上顯示時間


qt 獲取系統時間顯示出來
#include <qdatetime.h>
#include <qtimer.h>


QTimer *timer= new QTimer(this,"timer");
?connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
?timer->start(8000);


void ylform::showTime()
{
?QDateTime datatime = QDateTime::currentDateTime();
?
?int y=datatime.date().year();
?int m=datatime.date().month();
?int d=datatime.date().day();
?
?QString strtime = datatime.time().toString();
?time1->setText(strtime+" ? "+QString::number(y)+"/"+QString::number(m)+"/"+QString::number(d));
?data1->setText(QString::number(y)+"/"+QString::number(m)+"/"+QString::number(d));
?
}
ui->label->setText(strTime+" ? "+QString::number(y)+"/"+QString::number(m)+"/"+QString::number(d));
6、Qt中計算一段程序的運行時間:
#include <QTime>
QTime tmpTime;
tmpTime.start();
qDebug() << tmpTime.elapsed() << "ms";


給Qt工程生成的可執行文件添加圖標
1. ?找一個ico文件,該名為適當的。如EXEICON.ico。?
2. ?手動創建一個對應的rc文件。如EXEICON.rc: IDI_ICON1 ICON DISCARDABLE "EXEICON.ico"?
3. ?將上面兩個文件放在當前目錄,把HdssMap.rc加入工程在中。重新生成即可。


給Qt窗體添加圖標
在main函數中:
?QApplication a(argc, argv);
?a.setWindowIcon(QIcon(":/DataManager/Resources/statics.png"));

7、中文輸出亂碼的解決方法:a、在main.cpp頭文件中添加?#include <QTextCodec>

? ?b、在main函數調用中 加入

QApplication a(argc, argv); QTextCodec::setCodecForTr(QTextCodec::codecForName("gbk"));//設置中文字體編碼 以后需要輸出中文的時候 寫成 tr("中文你好");即可? 比如


ui->textEdit->append(tr("pushbutton_3----時間")); 這樣輸出的就是正常的中文字符了


8、checkBox 選中狀態判斷,呵呵,自己想的,不知道大家怎么做

on_checkBox_clicked(){

? ? if(ui->checkBox->checkState())

????{

????? ? // 選中是state狀態為真,未選中為false ?

????}

}

9、可以將很多信號和單個的槽進行連接,也可以將單個的信號和多個的槽進行連接,甚至將一個信號和另一個信號進行連接,這時無論第一個信號什么時候發射,系統都將立刻發射第二個信號。

? 如果存在多個槽與某個信號相關聯,那么,當這個信號被發射時,這些槽將會一個接一個的執行,但是他們執行的順序將會是隨機的、不確定的,我們不能人為的指定那個先執行,那個后執行。

QObject::connect(sender,SIGNAL(signal),receiver,SLOT(slot));

比如:QObject::connect(pushButton,SIGNAL(clicked()),this,SLOT(dopushButton()));


10、類聲明里,SIGNALS沒有public、private、protected等屬性,SLOTS則有這3個屬性


轉載于:https://my.oschina.net/laopiao/blog/83916

總結

以上是生活随笔為你收集整理的Qt笔记1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。