Qt列表知多少?

2021-08-18 21:32:39 字數 2781 閱讀 8646

一、簡介:

qlistwidget是qt提供的列表控制項。它的父類是qlistview,實際上qlistwidget是乙個自帶model的view。通常情況下搭配qlistwidgetitem(以下簡稱item)使用。

二:入門:

qlistwidget的入門非常簡單。只需要新增item就行了。

qlistwidget* list = new qlistwidget(this);

list->additem("item 1");

list->additem("item 2");

list->additem("item 3");

實際上僅用兩行**就入門了。qlistwidget還有其他新增item的方法(add和insert):

//------void additem(qlistwidgetitem *item)

qlistwidgetitem* item = new qlistwidgetitem("item 4");

list->additem(item);

//------void additems(const qstringlist &labels)

list->additems(qstringlist()<

//------void insertitem(int row, qlistwidgetitem *item)

qlistwidgetitem* item2 = new qlistwidgetitem("item insert 1");

list->insertitem(3,item2);

//------void insertitem(int row, const qstring &label)

list->insertitem(3,"item insert 2");

//------void insertitems(int row, const qstringlist &labels)

list->insertitems(3,qstringlist()<

三、精進之路:

1.獲取qlistwidgetitem.

一開始的時候說了qlistwidget要搭配qlistwidgetitem來使用,所以在進一步玩qlistwidget之前我們要學會獲取item。獲取item的方法有很多種:

1.根據下標來獲取: 

//qlistwidgetitem *item(int row) const  

2.根據item的位置(座標)來獲取:

//qlistwidgetitem * itemat(const qpoint &p) const 

//qlistwidgetitem * itemat(int x, int y) const  

3.根據下標來獲取,並且從列表中移除:

//qlistwidgetitem *takeitem(int row) 

4.獲取當前的item:

// qlistwidgetitem *currentitem() const

2.美化列表.

在qt中要說到美化,我第一時間想到的就是樣式表了。不過這裡不討論樣式表,看看它自己的函式怎麼玩。

2.1設定item的圖示使用 void seticon(const qicon &icon)

2.2設定item的文字顏色使用 void setforeground(const qbrush &brush)

2.3設定item的背景顏色使用 void setbackground(const qbrush &brush)

2.4設定item的文字字型使用 void setfont(const qfont &font)

2.5設定item的大小使用void setsizehint(const qsize &size)

2.6設定itm的文字對齊方式使用void settextalignment(int alignment)

for(int i = 0; i 

3.編輯item。

//新增乙個按鈕來觸發編輯以及關閉編輯函式

static bool flag = true;

if(flag)else

4.拖拽item。

單純的編輯還不能滿足我們的需求,我們有時需要直接拖動item來調整他們的順序。拖拽並非qlistwidget獨有的功能,它的祖先就有了這個功能。

list->setdragdropmode(qlistwidget::internalmove);
值得注意的是拖拽不僅僅可以在內部進行,還可以在多個控制項中進行。

5.橫著排

以上看到的列表都是垂直方向排列的,列表也能橫著排。void setflow(flow flow),把flow的值設定為lefttoright。搭配

list->setflow(qlistwidget::lefttoright);
6.圖示模式

在某些應用場景下列表只需要展示,那麼這時候使用圖示模式就很適合了。void setviewmode(viewmode mode),圖示模式下icon會變得很大。

list->setviewmode(qlistwidget::iconmode);
若不要文字,只需要把文字設定為空即可。

qt 程式異常結束。 QT間期異常知多少?

qt間期的測量從q波起始至t波 非u波 結束,包括qrs波時限 st段長度 t波寬度。由於qrs波時限代表心室除極時間,t波寬度代表心室快速復極時間,因此qt間期是對心室電活動總時間的測量。qt間期異常,提示哪些問題?正常的qt間期 正常qt間期範圍是0.35 0.43s,或者是0.39s 0.04...

閘道器知多少

閘道器 gateway 顧名思義,就是乙個網路到另乙個網路的關口。維基百科對閘道器的定義為 在計算機網路中,閘道器 gateway 是 其他伺服器通訊資料的伺服器,接收從客戶端傳送來的請求時,它就像自己擁有資源的源伺服器一樣對請求進行處理。但是,很多時候,我們會將路由器和閘道器認為是同乙個概念。其實...

原型知多少

除了undefind,number,string,boolean是簡單的值型別,其他的null,object,function都是物件 函式有prototype屬性,它是物件,是函式屬性和方法的集合 每個物件都有乙個 proto 屬性 隱式原型 它指向建立這個物件的函式的原型 函式也是一種物件 ob...