一、簡(jiǎn)介:
QListWidget是Qt提供的列表控件。它的父類是QListView,實(shí)際上QListWidget是一個(gè)自帶model的view。通常情況下搭配QListWidgetItem(以下簡(jiǎn)稱item)使用。
二:入門(mén):
QListWidget的入門(mén)非常簡(jiǎn)單。只需要添加item就行了。
QListWidget* list = new QListWidget(this); list->addItem("item 1"); list->addItem("item 2"); list->addItem("item 3");
實(shí)際上僅用兩行代碼就入門(mén)了。QListWidget還有其他添加item的方法(add和Insert):
三、精進(jìn)之路:
1.獲取QListWidgetItem.
一開(kāi)始的時(shí)候說(shuō)了QListWidget要搭配QListWidgetItem來(lái)使用,所以在進(jìn)一步玩QListWidget之前我們要學(xué)會(huì)獲取item。獲取item的方法有很多種:
2.美化列表.
在Qt中要說(shuō)到美化,我第一時(shí)間想到的就是樣式表了。不過(guò)這里不討論樣式表,看看它自己的函數(shù)怎么玩。
2.1設(shè)置item的圖標(biāo)使用 void setIcon(const QIcon &icon)
2.2設(shè)置item的文字顏色使用 void setForeground(const QBrush &brush)
2.3設(shè)置item的背景顏色使用 void setBackground(const QBrush &brush)
2.4設(shè)置item的文字字體使用 void setfont(const QFont &font)
2.5設(shè)置item的大小使用void setSizeHint(const QSize &size)
2.6設(shè)置itm的文本對(duì)齊方式使用void setTextAlignment(int alignment)
3.編輯item。
使用openPersistentEditor開(kāi)啟編輯一個(gè)item,與之對(duì)應(yīng)的函數(shù)是closePersistentEditor,測(cè)試代碼:
4.拖拽item。
單純的編輯還不能滿足我們的需求,我們有時(shí)需要直接拖動(dòng)Item來(lái)調(diào)整他們的順序。拖拽并非QListWidget獨(dú)有的功能,它的祖先就有了這個(gè)功能。
list->setDragDropMode(QListWidget::InternalMove);
值得注意的是拖拽不僅僅可以在內(nèi)部進(jìn)行,還可以在多個(gè)控件中進(jìn)行。
5.橫著排
以上看到的列表都是垂直方向排列的,列表也能橫著排。void setFlow(Flow flow),把flow的值設(shè)置為L(zhǎng)eftToRight。搭配
void setWrapping(bool enable)使用可以讓列表一直排成一行。
list->setFlow(QListWidget::LeftToRight);
6.圖標(biāo)模式
在某些應(yīng)用場(chǎng)景下列表只需要展示圖片,那么這時(shí)候使用圖標(biāo)模式就很適合了。void setViewMode(ViewMode mode),圖標(biāo)模式下Icon會(huì)變得很大。
list->setViewMode(QListWidget::IconMode);
若不要文本,只需要把文本設(shè)置為空即可。
作者:fearlazy。您的關(guān)注是我繼續(xù)分享的最大動(dòng)力!o(* ̄︶ ̄*)o
1.《qt如何設(shè)置文字兩端對(duì)齊》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無(wú)關(guān),侵刪請(qǐng)聯(lián)系頁(yè)腳下方聯(lián)系方式。
2.《qt如何設(shè)置文字兩端對(duì)齊》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來(lái)源地址,http://f99ss.com/keji/3223505.html