在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ QListWidget
Qt 容器和算法拾遺
自定義 model 之一
反走樣
Hello, world!
Qt 容器類之關(guān)聯(lián)存儲容器
QStringListModel
拖放技術(shù)之一
狀態(tài)欄
QTreeWidget
拖放技術(shù)之二
通用算法
event()
Qt 學(xué)習(xí)之路(18): Qt 標(biāo)準對話框之 QInputDialog
Qt 容器類之遍歷器和隱式數(shù)據(jù)共享
QListWidget
Meta-Object 系統(tǒng)
事件接收與忽略
Qt 學(xué)習(xí)之路(tip): parent 參數(shù)
Qt 標(biāo)準對話框之 QColorDialog
QPainter(續(xù))
國際化(下)
漸變填充
自定義委托
創(chuàng)建 shared library
model-view 架構(gòu)
Graphics View Framework
自定義拖放數(shù)據(jù)對象
QSortFilterProxyModel
國際化(上)
組件布局
自定義 Model 之三
事件過濾器
QDirModel
Hello, world!(續(xù))
Qt 標(biāo)準對話框之 QFileDialog
自定義 model 之二
深入了解信號槽
坐標(biāo)變換
剪貼板操作
QTableWidget
QByteArray 和 QVariant
創(chuàng)建一個對話框(下)
Qt 學(xué)習(xí)之路(32): 一個簡易畫板的實現(xiàn)(Graphics View)
文本文件讀寫
自定義事件
編寫跨平臺的程序
MainWindow
初探信號槽
Qt 學(xué)習(xí)之路(17): Qt 標(biāo)準對話框之 QMessageBox
繪圖設(shè)備
菜單和工具條(續(xù))
二進制文件讀寫
QString
事件(event)
菜單和工具條
QPainter
Qt 容器類之順序存儲容器
進程間交互
API 文檔的使用
創(chuàng)建一個對話框(上)
一個簡易畫板的實現(xiàn)(QWidget)

QListWidget

前面一節(jié)簡單概述著名的 MVC 模式在 Qt 中的實現(xiàn),現(xiàn)在我們從 QListWidget 開始了解 Qt 提供的一系列方便的 item view 類。

第一個要說的是 QListWidget。這個類為我們展示一個 List 列表的視圖。下面還是先看代碼:


listwidget.h
#ifndef LISTWIDGET_H 
#define LISTWIDGET_H 

#include <QtGui> 

class ListWidget : public QWidget 
{ 
public: 
        ListWidget(); 

private: 
        QLabel *label; 
        QListWidget *list; 
}; 

#endif // LISTWIDGET_H

listwidget.cpp


#include "listwidget.h" 

ListWidget::ListWidget() 
{ 
        label = new QLabel; 
        label->setFixedWidth(70); 
        list = new QListWidget; 
        list->addItem(new QListWidgetItem(QIcon(":/images/line.PNG"), tr("Line"))); 
        list->addItem(new QListWidgetItem(QIcon(":/images/rect.PNG"), tr("Rectangle"))); 
        list->addItem(new QListWidgetItem(QIcon(":/images/oval.PNG"), tr("Oval"))); 
        list->addItem(new QListWidgetItem(QIcon(":/images/tri.PNG"), tr("Triangle"))); 
        QHBoxLayout *layout = new QHBoxLayout; 
        layout->addWidget(label); 
        layout->addWidget(list); 

        setLayout(layout); 

        connect(list, SIGNAL(currentTextChanged(QString)), label, SLOT(setText(QString))); 
}

main.cpp


#include <QtGui> 
#include "listwidget.h" 

int main(int argc, char *argv[]) 
{ 
        QApplication a(argc, argv); 
        ListWidget lw; 
        lw.resize(400, 200); 
        lw.show(); 
        return a.exec(); 
}

一共三個文件,但是都比較清晰。我們先建立了一個 ListWidget 類,然后在 main 函數(shù)中將其顯示出來。

ListWidget 類中包含一個 QLabel 對象和一個 QListWidget 對象。創(chuàng)建這個 QListWidget 對象很簡單,只需要使用new運算符創(chuàng)建出來,然后調(diào)用 addItem()函數(shù)即可將 item 添加到這個對象中。我們添加的對象是 QListWidgetItem 的指針,它有四個重載的函數(shù),我們使用的是其中的一個,它接受兩個參數(shù),第一個是 QIcon 引用類型,作為 item 的圖標(biāo),第二個是 QString 類型,作為這個item 后面的文字說明。當(dāng)然,我們也可以使用 insertItem()函數(shù)在特定的位置動態(tài)的增加 item,具體使用請查閱 API 文檔。最后,我們將這個 QListWidget 的 currentTextChanged()信號同QLabel 的 setText()連接起來,這樣,在我們點擊 item 的時候,label 上面的文字就可以改變了。

http://wiki.jikexueyuan.com/project/learn-road-qt/images/67.png" alt="" />

我們還可以設(shè)置 viewModel 這個參數(shù),來確定使用不同的視圖進行顯示。比如,我們使用下面的語句:


list->setViewMode(QListView::IconMode);

再來看看程序界面吧!

http://wiki.jikexueyuan.com/project/learn-road-qt/images/68.png" alt="" />

本文出自 “豆子空間” 博客,請務(wù)必保留此出處 http://devbean.blog.51cto.com/448512/193918