QT開發(九)——QT單元組件

QT開發(九)——QT單元組件

    QT有三種單元組件,分別爲列表單元組件QListWidget、樹形單元組件QTreeWidget、表格單元組件QTableWidgetide

1、QListWidget列表單元

1QListWidget組件簡介

    QListWidget列表單元組件繼承自QListView,是基於單元的列表組件。QListWidget能夠顯示一個清單,清單中的每一個項目是QListWidgetItem的一個實例,每一個項目能夠經過QListWidgetItem來操做。能夠經過QListWidgetItem來設置每一個項目的圖像與文字函數

2QListWidget組件屬性

    QListWidget列表單元組件屬性設置選項:字體

    A、name:組件對應源代碼內的名稱ui

    B、font:設置表格內部的字體spa

    C、count:保持項目的數目對象

    D、currentRow:保持當前項目的行排序

    E、sortingEnabled:是否對item排序繼承

3QListWidget組件經常使用成員函數

QListWidget::QListWidgetQWidget *parent = 0索引

構造父對象爲parent的ListWidgetip

void QListWidget::addItemQListWidgetItem *item

添加項目item

void QListWidget::addItemconst QString &label

添加一個新的項目,在新添加的項目中添加label標籤

void QListWidget::addItemsconst QStringList &labels

添加一列項目

void QListWidget::clear()[slot]

清除該ListWidget中的全部項目

QListWidgetItem *QListWidget::currentItem()const

返回當前活動的項目

void QListWidget::editItemQListWidgetItem *item

若是項目item是可編輯的,開始編輯項目item

QList<QListWidgetItem *>QListWidget::findItemsconst QString &textQt::MatchFlags flagsconst

查找匹配字符串text的項目,並返回查找結果

void QListWidget::insertItemint rowQListWidgetItem * item

在行row處插入項目item

void QListWidget::insertItemint rowconst QString &label

這是一個重載函數,功能同(9),在行row處插入標籤爲label的新項目

void QListWidget::insertItemint rowconst QStringList &labels

在行row處插入一列項目

QListWidgetItem *QListWidget::itemint rowconst

返回行row處的項目,若是行row處沒有項目則返回0

QListWidgetItem *QListWidget::itemAtconst QPoint &pconst

返回點p處的項目

QListWidgetItem *QListWidget::itemAtint rowint yconst

返回座標(x,y)處的項目

QWidget *QListWidget::itemWidgetQListWidgetItem *itemconst

返回項目item處顯示的控件

QListWidgetItem *QListWidget::takeItemint row

移除行row處的項目,並返回項目控件

void QListWidget::removeItemWidgetQListWidgetItem *item

移除項目item處的控件

int QListWidget::rowconst QListWidgetItem *itemcosnt

返回項目item所在的行

QList<QListWidgetItem*> QListWidget::selectedItems()const

返回全部被選中的項目的控件

void QListWidget::setcurrentItemQListWidgetItem *item

設置項目item爲當前項目

void QListWidget::setItemWidgetQListWidgetItem *itemQWidget *widget

設置控件widget爲項目item的顯示控件

void QListWidget::setItemWidgetQListWidgetItem *itemQWidget *widget

void QListWidget::sortItemsQt::SortOrder order = Qt::AscendingOrder

把項目按照order進行排序

四、QListWidget實例

#include <QtGui/QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QListWidget>
#include <QListWidgetItem>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget* widget = new QWidget;
    QListWidget* listWidget = new QListWidget(widget);
    QVBoxLayout* layout = new QVBoxLayout;
    QListWidgetItem* lst1 = new QListWidgetItem("data", listWidget);
    QListWidgetItem* lst2 = new QListWidgetItem("decision", listWidget);
    QListWidgetItem* lst3 = new QListWidgetItem("document", listWidget);
    QListWidgetItem* lst4 = new QListWidgetItem("process", listWidget);
    QListWidgetItem* lst5 = new QListWidgetItem("printer", listWidget);
    listWidget->insertItem(1, lst1);
    listWidget->insertItem(2, lst2);
    listWidget->insertItem(3, lst3);
    listWidget->insertItem(4, lst4);
    listWidget->insertItem(5, lst5);
    listWidget->show();
    layout->addWidget(listWidget);
    widget->setLayout(layout);
    widget->show();
    
    return a.exec();
}

2、QTreeWidget樹形單元

1QTreeWidget組件簡介

    QTreeWidget樹形單元組件繼承自QTreeView類,是樹形視圖使用預約義的模型,也是基於模型/視圖結構的組件,爲方便開發人員使用樹形視圖,能夠用來來建立簡單地樹形結構列表。經過QTreeWidget類和QTreeWidgetItem類實現樹形結構,QTreeWidgetItem類實現結點的添加

2QTreeWidget組件屬性

    QTreeWidget組件屬性設置選項:

    A、name:組件對應源代碼內的名稱

 B、font:設置表格內部的字體

    C、columnCount:保存TreeWidget的列數

3QTreeWidget組件經常使用成員函數

QTreeWidget::QTreeWidgetQWidget *parent = 0

構造一個父對象爲parent的TreeWidget

void QTreeWidget::addTopLevelItemQTreeWidgetItem * item

QTreeWidget組件中追加item爲頂級項目

void QTreeWidget::addTopLevelItemsconst QList<QTreeWidgetItem*> &items

items中的項目做爲頂級項目追加到該TreeWidget中

void QTreeWidget::clear()[slot]

清除TreeWidget中的全部項目

void QTreeWidget::collapseItemconst QTreeWidgetItem *item[slot]

摺疊項目item

int QTreeWidget::currentColumn()const

返回當前活動列

QTreeWidgetItem *QTreeWidget::currentItem()const

返回當前活動項目

void QTreeWidget::editItemQTreeWidgetItem *itemint column = 0

若是列column的item是可編輯的,開始編輯

void QTreeWidget::expandItemconst QTreeWidgetItem *item[slot]

展開項目

QList<QTreeWidgetItem*> QTreeWidget::findItemsconst QString &textQt::MatchFlags flagsint column = 0const

查找匹配字符串的text的項目,並返回查找結果

QTreeWidgetItem *QTreeWidget::headerItem()const

返回頭項目

QModelIndex QTreeWidget::indexFromItemQTreeWidgetItem *itemint column = 0const [protected]

返回列column的項目item模型索引

int QTreeWidget::indexOfTopLevelItemQTreeWidgetItem *itemconst

返回頂級項目item的模型索引,若是item不存在返回-1

int QTreeWidget::sortColumn()const
返回排序的列

void QTreeWidget::sortItemsint columnQt::SortOrder order

對列column的項目按照order進行排序

QTreeWidgetItem *QTreeWidget::itemAboveconst QTreeWidgetItem *itemconst

返回item的上一個項目

QTreeWidgetItem *QTreeWidget::itemAtconst QPoint &pconst

返回點p處的項目

QTreeWidgetItem *QTreeWidget::itemAtint xint yconst

返回座標(x,y)處的項目

void QTreeWidget::setItemWidgetQTreeWidgetItem *itemint columnQWidget *widget

設置控件widget爲項目item的顯示控件,項目item在列column中

QTreeWidgetItem *QTreeWidget::itemBelowconst QTreeWidgetItem *itemconst

返回item的下一個項目

QWidget *QTreeWidget::itemWidgetQTreeWidgetItem *itemint columnconst

返回列column中的項目item顯示控件

void QTreeWidget::removeItemWidgetQTreeWidgetItem *itemint column

移除列column中的項目item的顯示控件

QList<QTreeWidgetItem *> QTreeWidget::selectItems()const

返回全部選中狀態的項目

void QTreeWidget::setCurrentItemQTreeWidgetItem *item

設置item爲當前項目

void QTreeWidget::setCurrentItemQTreeWidgetItem *itemint column

設置列column的項目item爲當前項目

void QTreeWidget;:setHeaderItemQTreeWidgetItem *item

設置item爲該TreeWidget的頭項目

void QTreeWidget::setHeaderLabelconst QString &label

設置label爲頭標題

QTreeWidgetItem *QTreeWidget::topLevelItemint indexcosnt

返回全部index的頂級項目

四、QTreeWidget實例

#include <QtGui/QApplication>
#include <QWidget>
#include <QTreeWidgetItem>
#include <QTreeWidget>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget *widget = new QWidget;
    QTreeWidget *tree = new QTreeWidget(widget);
    tree->setColumnCount(1); //設置列數
    tree->setHeaderLabel(QString::fromLocal8Bit("圖像選擇")); //設置頭的標題
    QTreeWidgetItem *Item1 = new QTreeWidgetItem(tree,QStringList(QString::fromLocal8Bit("圖像1")));
    QTreeWidgetItem *Item11 = new QTreeWidgetItem(Item1,QStringList(QString::fromLocal8Bit("Band1"))); //子節點1
    Item1->addChild(Item11); //添加子節點
    QTreeWidgetItem *Item2 = new QTreeWidgetItem(tree,QStringList(QString::fromLocal8Bit("圖像2")));
    QTreeWidgetItem *Item21 = new QTreeWidgetItem(Item2,QStringList(QString::fromLocal8Bit("Band1"))); //子節點1
    QTreeWidgetItem *Item22 = new QTreeWidgetItem(Item2,QStringList(QString::fromLocal8Bit("Band2"))); //子節點2
    Item2->addChild(Item21);  //添加子節點
    Item2->addChild(Item22);
    tree->expandAll(); //結點所有展開
    widget->show();
    return a.exec();
}

3、QTableWidget表格單元

1QTableWidget組件簡介

    QTableWidget表格單元組件繼承自QTableView,QTableView能夠使用自定義的數據模型來顯示內容,而QTableWidget則只能使用標準的數據模型,而且其單元格數據是QTableWidgetItem的對象來實現的QTableWidgetItem用來表示表格中的一個單元格,整個表格都須要用逐個單元格構建起來。

2QTableWidget組件屬性

    QTableWidget組件屬性設置選項:

    A、name:組件對應源代碼內的名稱

    B、font:設置表格對應的字體

    C、columnCount:保存列的數目

    D、rowCount:保存行的數目

3QTableWidget組件經常使用成員函數

QTableWidget::QTableWidgetQWidget * parent = 0

構造一個父對象爲parent的TableWidget

QTableWidget::QTableWidgetint rowsint columnsQWidget *parent = 0

構造一個rows行,columns列,父對象爲parent的TableWidget控件

QWidget *QTableWidget::cellWidgetint rowint columnconst

返回行row,列column的單元格處的控件

void QTableWidget::clear()[slot]

刪除該TreeWidget中的全部項目

 void QTableWidget::clearContents()[slot]

刪除該TreeWidget中除了header外的全部項目

 int QTableWidget::columnconst QTableWidgetItem *itemconst

返回項目item所在的列

int QTableWidget::currentColumn()const

返回當前活動的列

QTableWidgetItem *QTableWidget::currentItem()const

返回當前活動的項目

int QTableWidget::currentRow()const

返回當前活動的行

void QTableWidget::editItemQTableWidgetItem *item

若是item是可編輯的,開始編輯item

QList<QTableWidgetItem *> QTableWidget::findItemsconst QString &textQt::MatchFlags flagsconst

查找匹配字符串text的項目,並返回查找結果

void QTableWidget::insertColumnint column[slot]

在列column處插入新列

void QTableWidget::insertRowint row[slot]

在行row處插入新行

QTableWidgetItem *QTableWidget::itemint rowint columnconst

返回行row、列column處的項目

QTableWidgetItem *QTableWidget::itemAtconst QPoint &pointconst

返回點point處的項目

QTableWidgetItem *QTableWidget::itemAtint axint ayconst

返回座標(ax,ay)處的項目

void QTableWidget::removeCellWidgetint rowint column

移除行row、列column單元格處的顯示控件

void QTableWidget::removeColumnint column[slot]

移除列column

void QTableWidget::removerRowint row[slot]

移除行row

int QTableWidget::rowconst QTableWidgetItem *itemcosnt

返回item的行

QList<QTableWidgetItem *> QTableWidget::selectedItems()

返回全部選中狀態的項目

void QTableWidget::setCellWidgetint rowint columnQWidget *widget

設置行row、列column處的顯示控件爲widget。

void QTableWidget::setCurrentCellint rowint column

設置行row,列column處的單元格爲當前活動單元格

void QTableWidget::setCurrentItemQTableWidgetItem *item

設置項目item爲當前活動項目

void QTableWidget::setHorizontalHeaderItemint columnQTableWidgetItem *item

設置項目item爲列column的水平頭項目,功能同setVerticalHeaderItem()

void QTableWidget::setHorizontalHeaderLabelsconst QStringList *labels

設置水平標題爲labels,功能同setVerticalHeaderLabels()

void QTableWidget::setItemint rowint columnQTableWidgetItem *item

設置行row、列column的單元格的項目爲item

void QTableWidget::sortItemsint columnQt::SortOrder order = Qt::AscendingOrder

對列column按照order進行排序

QTableWidgetItem *QTableWidget::takeHorizonalHeaderItemint column

移除列column的水平頭項目,功能同takeVerticalHeaderItem()

QTableWidgetItem *QTableWidget::takeItemint rowint column

移除行row、列column單元格處的項目

QTableWidgetItem *QTableWidget::verticalHeaderItemint rowconst

返回行row的垂直頭項目

四、QTableWidget實例

#include <QtGui/QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QTableWidget *tablewidget = new QTableWidget(10,5);
    tablewidget->resize(350, 200);  //設置表格
    QStringList header;
    header<<"Month"<<"Description";
    tablewidget->setHorizontalHeaderLabels(header);
    tablewidget->setItem(0,0,new QTableWidgetItem("Jan"));
    tablewidget->setItem(1,0,new QTableWidgetItem("Feb"));
    tablewidget->setItem(2,0,new QTableWidgetItem("Mar"));
    tablewidget->setItem(0,1,new QTableWidgetItem("Jan's month"));
    tablewidget->setItem(1,1,new QTableWidgetItem("Feb's month"));
    tablewidget->setItem(2,1,new QTableWidgetItem("Mar's month"));
    tablewidget->show();
    return a.exec();
}
相關文章
相關標籤/搜索