這篇文章主要講解了“Qt使用技巧有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Qt使用技巧有哪些”吧!
成都創(chuàng)新互聯(lián)公司成立于2013年,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元青岡做網(wǎng)站,已為上家服務(wù),為青岡各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220
獲取類(lèi)的屬性
const QMetaObject *metaobject = object->metaObject(); int count = metaobject->propertyCount(); for (int i = 0; i < count; ++i) { QMetaProperty metaproperty = metaobject->property(i); const char *name = metaproperty.name(); QVariant value = object->property(name); qDebug() << name << value; }
Qt內(nèi)置圖標(biāo)封裝在QStyle中,大概七十多個(gè)圖標(biāo),可以直接拿來(lái)用。 QStyle::SP_TitleBarMenuButton
根據(jù)操作系統(tǒng)位數(shù)判斷加載
win32 { contains(DEFINES, WIN64) { DESTDIR = $${PWD}/../../bin64 } else { DESTDIR = $${PWD}/../../bin32 } }
Qt5增強(qiáng)了很多安全性驗(yàn)證,如果出現(xiàn)setGeometry: Unable to set geometry,請(qǐng)將該控件的可見(jiàn)移到加入布局之后。
可以將控件A添加到布局,然后控件B設(shè)置該布局,這種靈活性大大提高了控件的組合度,比如可以在文本框左側(cè)右側(cè)增加一個(gè)搜索按鈕,按鈕設(shè)置圖標(biāo)即可。
QPushButton *btn = new QPushButton; btn->resize(30, ui->lineEdit->height()); QHBoxLayout *layout = new QHBoxLayout(ui->lineEdit); layout->setMargin(0); layout->addStretch(); layout->addWidget(btn);
對(duì)QLcdnumber控件設(shè)置樣式,需要將QLCDNumber的segmentstyle設(shè)置為flat。
巧妙的使用findChildren可以查找該控件下的所有子控件。findChild為查找單個(gè)。
//查找指定類(lèi)名objectName的控件 QListwidgets = parentWidget.findChildren ("widgetname"); //查找所有QPushButton QList allPButtons = parentWidget.findChildren (); //查找一級(jí)子控件,不然會(huì)一直遍歷所有子控件 QList childButtons = parentWidget.findChildren (QString(), Qt::FindDirectChildrenOnly);
巧妙的使用inherits判斷是否屬于某種類(lèi)。
QTimer *timer = new QTimer; // QTimer inherits QObject timer->inherits("QTimer"); // returns true timer->inherits("QObject"); // returns true timer->inherits("QAbstractButton"); // returns false
使用弱屬性機(jī)制,可以存儲(chǔ)臨時(shí)的值用于傳遞判斷??梢酝ㄟ^(guò)widget->dynamicPropertyNames()列出所有弱屬性名稱(chēng),然后通過(guò)widget->property("name")取出對(duì)應(yīng)的弱屬性的值。
在開(kāi)發(fā)時(shí), 無(wú)論是出于維護(hù)的便捷性, 還是節(jié)省內(nèi)存資源的考慮, 都應(yīng)該有一個(gè) qss 文件來(lái)存放所有的樣式表, 而不應(yīng)該將 setStyleSheet 寫(xiě)的到處都是。如果是初學(xué)階段或者測(cè)試階段可以直接UI上右鍵設(shè)置樣式表,正式項(xiàng)目還是建議統(tǒng)一到一個(gè)qss樣式表文件比較好,統(tǒng)一管理。
感謝各位的閱讀,以上就是“Qt使用技巧有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Qt使用技巧有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!