国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)

這篇具有很好參考價(jià)值的文章主要介紹了C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹TableViewTreeView組件聯(lián)動(dòng)的常用方法及靈活運(yùn)用。

本章我們繼續(xù)實(shí)現(xiàn)表格的聯(lián)動(dòng)效果,當(dāng)讀者點(diǎn)擊TableViewTreeView中的某一行時(shí),我們讓其實(shí)現(xiàn)自動(dòng)跟隨功能,且當(dāng)用戶(hù)修改行中特定數(shù)據(jù)時(shí)也讓其動(dòng)態(tài)的跟隨改變,首先繪制一個(gè)主界面如圖,分別放置兩個(gè)組件框,底部保留兩個(gè)按鈕,按鈕1用于該表表格的行列個(gè)數(shù),按鈕2則用于設(shè)置TableView表格表頭參數(shù),整個(gè)表格我們將其設(shè)置為可編輯狀態(tài)。

C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)

在函數(shù)中我們需要定義一個(gè)QStandardItemModel模型,這個(gè)模型的作用在之前的文章中有具體介紹,它是一個(gè)靈活且功能強(qiáng)大的模型類(lèi),適用于需要自定義數(shù)據(jù)結(jié)構(gòu)、支持編輯、表頭等功能的場(chǎng)景。通常用于與視圖組件(如 QTableView、QTreeView 等)一起使用。它提供了一個(gè)表格結(jié)構(gòu),可以包含行和列,每個(gè)單元格可以存儲(chǔ)一個(gè) QStandardItem 對(duì)象。

這里的QStandardItemModel只適用于將兩個(gè)不同類(lèi)型的組件進(jìn)行關(guān)聯(lián),簡(jiǎn)單點(diǎn)來(lái)說(shuō)就是將兩個(gè)組件指向同一個(gè)數(shù)據(jù)容器內(nèi),這樣當(dāng)用戶(hù)修改任意一個(gè)組件內(nèi)的數(shù)據(jù)另一個(gè)組件也會(huì)同步發(fā)生變更,但要想實(shí)現(xiàn)聯(lián)動(dòng)則還需要使用QItemSelectionModel模型,它負(fù)責(zé)跟蹤哪些項(xiàng)被選中,以及在模型中項(xiàng)的選擇狀態(tài)發(fā)生變化時(shí)發(fā)出信號(hào)。

以下是 QItemSelectionModel 的一些重要特性和方法:

  • 選擇項(xiàng): 負(fù)責(zé)管理模型中的項(xiàng)的選擇狀態(tài),可以單獨(dú)選擇項(xiàng)、選定范圍內(nèi)的項(xiàng)或清除所有選擇項(xiàng)。
  • 信號(hào): 當(dāng)選擇狀態(tài)發(fā)生變化時(shí),QItemSelectionModel 會(huì)發(fā)出相應(yīng)的信號(hào),如 selectionChanged 信號(hào)。
  • 選擇模式: 提供多種選擇模式,包括單選、多選、擴(kuò)展選擇等,可通過(guò)設(shè)置 SelectionMode 進(jìn)行配置。
  • 選擇策略: 提供多種選擇策略,用于定義選擇行為,如 SelectItems、SelectRows、SelectColumns 等。
  • 與視圖的集成: 通常與 QTableViewQTreeView 等視圖組件結(jié)合使用,以實(shí)現(xiàn)對(duì)視圖中項(xiàng)的選擇操作。

該組件是實(shí)現(xiàn)模型-視圖架構(gòu)中選擇的關(guān)鍵組件。通過(guò)它,可以輕松管理和操作模型中的項(xiàng)的選擇狀態(tài),實(shí)現(xiàn)各種靈活的用戶(hù)交互。下面是 QItemSelectionModel 類(lèi)的一些主要方法:

方法 描述
QItemSelectionModel(QAbstractItemModel *model, QObject *parent = nullptr) 構(gòu)造函數(shù),創(chuàng)建一個(gè)與指定模型關(guān)聯(lián)的 QItemSelectionModel 對(duì)象。
QModelIndexList selectedIndexes() const 獲取當(dāng)前被選中的項(xiàng)的索引列表。
void clear() 清除所有的選擇項(xiàng)。
void setSelectionMode(QItemSelectionModel::SelectionFlags mode) 設(shè)置選擇模式,可以選擇多個(gè)項(xiàng)、單個(gè)項(xiàng)等。
void setSelectionBehavior(QItemSelectionModel::SelectionBehavior behavior) 設(shè)置選擇策略,如選擇單個(gè)項(xiàng)、選擇整行、選擇整列等。
void select(const QModelIndex &topLeft, const QModelIndex &bottomRight, QItemSelectionModel::SelectionFlags command) 在指定范圍內(nèi)進(jìn)行選擇操作,使用 SelectionFlags 定義選擇操作。
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) 當(dāng)選擇狀態(tài)發(fā)生變化時(shí)發(fā)出的信號(hào),可以通過(guò)連接這個(gè)信號(hào)來(lái)處理選擇狀態(tài)變化的事件。
bool hasSelection() const 判斷是否有選中的項(xiàng)。

上述方法提供了管理選擇項(xiàng)的一些基本操作,包括清除選擇、獲取選中項(xiàng)的索引、設(shè)置選擇模式和策略,以及在指定范圍內(nèi)進(jìn)行選擇操作。

MainWindow構(gòu)造函數(shù)中,我們以此執(zhí)行如下關(guān)鍵部分,來(lái)實(shí)現(xiàn)對(duì)主界面的初始化工作;

創(chuàng)建模型和選擇模型

首先創(chuàng)建一個(gè)包含4行5列的 QStandardItemModel 模型,并為其創(chuàng)建了一個(gè) QItemSelectionModel 選擇模型。

model = new QStandardItemModel(4, 5, this);
selection = new QItemSelectionModel(model);

關(guān)聯(lián)到 tableViewtreeView

將模型和選擇模型關(guān)聯(lián)到 tableViewtreeView 上,這樣它們會(huì)共享同一份數(shù)據(jù)模型,也就是無(wú)論兩個(gè)組件哪一個(gè)發(fā)生變化均會(huì)影響雙方組件中的內(nèi)容。

ui->tableView->setModel(model);
ui->tableView->setSelectionModel(selection);

ui->treeView->setModel(model);
ui->treeView->setSelectionModel(selection);

添加表頭與初始化數(shù)據(jù)

創(chuàng)建一個(gè)包含列名的 HeaderList 字符串列表,并將其設(shè)置為模型的水平表頭標(biāo)簽。繼續(xù)創(chuàng)建一個(gè)包含三個(gè)字符串列表的數(shù)組 DataList,每個(gè)列表代表一行數(shù)據(jù)。然后使用嵌套的循環(huán)遍歷數(shù)組,將數(shù)據(jù)逐個(gè)添加到模型中。

QStringList HeaderList;
HeaderList << "序號(hào)" << "姓名" << "年齡" << "性別" << "婚否";
model->setHorizontalHeaderLabels(HeaderList);

QStringList DataList[3];
QStandardItem *Item;

DataList[0] << "1001" << "admin" << "24" << "男" << "是";
DataList[1] << "1002" << "lyshark" << "23" << "男" << "否";
DataList[2] << "1003" << "lucy" << "37" << "女" << "是";

通過(guò)循環(huán)添加數(shù)據(jù)到模型

使用兩個(gè)循環(huán),外層循環(huán)遍歷數(shù)組,內(nèi)層循環(huán)遍歷每個(gè)數(shù)組中的元素,創(chuàng)建 QStandardItem 對(duì)象并將其添加到模型的相應(yīng)位置。

int Array_Length = DataList->length();               // 獲取每個(gè)數(shù)組中元素?cái)?shù)
int Array_Count = sizeof(DataList) / sizeof(DataList[0]);        // 獲取數(shù)組個(gè)數(shù)

for(int x=0; x<Array_Count; x++)
{
    for(int y=0; y<Array_Length; y++)
    {
        Item = new QStandardItem(DataList[x][y]);
        model->setItem(x, y, Item);
    }
}

如上這段代碼初始化了一個(gè)包含表頭和數(shù)據(jù)的 QStandardItemModel 模型,然后將模型和選擇模型關(guān)聯(lián)到 tableViewtreeView 上,最后通過(guò)循環(huán)將數(shù)據(jù)逐個(gè)添加到模型中。這樣就創(chuàng)建了一個(gè)主窗口,其中包含了一個(gè)表格視圖和一個(gè)樹(shù)形視圖,它們共享相同的數(shù)據(jù)模型。如下圖所示;

C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)

DialogSize.ui

接著來(lái)看on_pushButton_clicked按鈕是如何實(shí)現(xiàn)的,該按鈕主要用于實(shí)現(xiàn)改變表格行與列,當(dāng)點(diǎn)擊后則會(huì)彈出一個(gè)DialogSize自定義對(duì)話(huà)框,至于對(duì)話(huà)框是如何添加的在之前的文章中已經(jīng)詳細(xì)介紹過(guò)了。

在如下代碼中我們通過(guò)model->rowCount()以及model->columnCount()獲取到父UI界面中tableView表格的行列數(shù),并通過(guò)ptr->setRowColumn將這些數(shù)據(jù)設(shè)置到了子對(duì)話(huà)框的編輯框上面,而ptr->columnCount()則用于接收子對(duì)話(huà)框的返回值,并將其動(dòng)態(tài)設(shè)置到對(duì)應(yīng)的模型中;

void MainWindow::on_pushButton_clicked()
{
    // //模態(tài)對(duì)話(huà)框,動(dòng)態(tài)創(chuàng)建,用過(guò)后刪除
    DialogSize *ptr = new DialogSize(this);     // 創(chuàng)建一個(gè)對(duì)話(huà)框
    Qt::WindowFlags flags = ptr->windowFlags(); // 需要獲取返回值
    ptr->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);  // 設(shè)置對(duì)話(huà)框固定大小
    ptr->setRowColumn(model->rowCount(),model->columnCount());      // 對(duì)話(huà)框數(shù)據(jù)初始化

    int ref = ptr->exec();             // 以模態(tài)方式顯示對(duì)話(huà)框
    if (ref==QDialog::Accepted)        // OK鍵被按下,對(duì)話(huà)框關(guān)閉
    {
        // 當(dāng)BtnOk被按下時(shí),則設(shè)置對(duì)話(huà)框中的數(shù)據(jù)
        int cols=ptr->columnCount();
        model->setColumnCount(cols);

        int rows=ptr->rowCount();
        model->setRowCount(rows);
    }

    // 最后刪除釋放對(duì)話(huà)框句柄
    delete ptr;
}

接著來(lái)看下子對(duì)話(huà)框DialogSize做了什么,在對(duì)話(huà)框代碼中rowCount()是給主窗體調(diào)用的函數(shù)其功能是獲取到當(dāng)前對(duì)話(huà)框中spinBoxRow組件中的數(shù)值,而columnCount()同理用于得到spinBoxColumn組件中的數(shù)值,最后的setRowColumn()則是用于接收主窗體的船只,并設(shè)置到對(duì)應(yīng)的子對(duì)話(huà)框上的SpinBox組件內(nèi),其代碼如下;

DialogSize::DialogSize(QWidget *parent) :QDialog(parent),ui(new Ui::DialogSize)
{
    ui->setupUi(this);
}

DialogSize::~DialogSize()
{
    delete ui;
}

// 主窗體調(diào)用獲取當(dāng)前行數(shù)
int DialogSize::rowCount()
{
    return  ui->spinBoxRow->value();
}

// 主窗體調(diào)用獲取當(dāng)前列數(shù)
int DialogSize::columnCount()
{
    return  ui->spinBoxColumn->value();
}

// 設(shè)置主窗體中的TableView行數(shù)與列數(shù)
void DialogSize::setRowColumn(int row, int column)
{
    ui->spinBoxRow->setValue(row);
    ui->spinBoxColumn->setValue(column);
}

運(yùn)行程序,并點(diǎn)擊左側(cè)第一個(gè)按鈕,此時(shí)我們可以將表格設(shè)置為6*6的矩陣,如下圖所示;

C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)

DIalogHead.ui

對(duì)于第二個(gè)按鈕on_pushButton_2_clicked的功能實(shí)現(xiàn)與第一個(gè)按鈕完全一致,該按鈕主要實(shí)現(xiàn)對(duì)父窗體中TableView的表頭進(jìn)行重新設(shè)置,在彈出對(duì)話(huà)框之前,需要將當(dāng)前表頭元素復(fù)制到strList列表容器內(nèi),并通過(guò)使用子對(duì)話(huà)框中的ptr->setHeaderList將其拷貝到子對(duì)話(huà)框中,并通過(guò)QDialog::Accepted等待對(duì)話(huà)框按下修改按鈕,如下代碼所示;

void MainWindow::on_pushButton_2_clicked()
{
    DialogHead *ptr = new DialogHead(this);
    Qt::WindowFlags flags = ptr->windowFlags();
    ptr->setWindowFlags(flags | Qt::MSWindowsFixedSizeDialogHint);

    // 如果表頭列數(shù)變化,則從新初始化
    if(ptr->headerList().count() != model->columnCount())
    {
        QStringList strList;

        // 獲取現(xiàn)有的表頭標(biāo)題
        for (int i=0;i<model->columnCount();i++)
        {
            strList.append(model->headerData(i,Qt::Horizontal,Qt::DisplayRole).toString());
        }

        // 用于對(duì)話(huà)框初始化顯示
        ptr->setHeaderList(strList);
    }

    // 調(diào)用彈窗
    int ref = ptr->exec();
    if(ref==QDialog::Accepted)
    {
        // 獲取對(duì)話(huà)框上修改后的StringList
        QStringList strList=ptr->headerList();

        // 設(shè)置模型的表頭標(biāo)題
        model->setHorizontalHeaderLabels(strList);
    }

    delete ptr;
}

當(dāng)讀者按下了修改按鈕之后,由于通過(guò)ui->listView->setModel(model)已經(jīng)與父窗體建立了關(guān)聯(lián),則此時(shí)通過(guò)model->setStringList(headers)就可以實(shí)現(xiàn)對(duì)父窗體中數(shù)據(jù)的修改,代碼如下所示;

DialogHead::DialogHead(QWidget *parent) :QDialog(parent),ui(new Ui::DialogHead)
{
    ui->setupUi(this);
    model = new QStringListModel;
    ui->listView->setModel(model);
}

DialogHead::~DialogHead()
{
    delete ui;
}

// 設(shè)置當(dāng)前l(fā)istView中的數(shù)據(jù)
void DialogHead::setHeaderList(QStringList &headers)
{
    model->setStringList(headers);
}

// 返回當(dāng)前的表頭
QStringList DialogHead::headerList()
{
    return model->stringList();
}

程序運(yùn)行后,讀者可以先將表格的行與列修改為7*7,接著再通過(guò)設(shè)置表頭的方式更新表頭,效果如下;

C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-760416.html

到了這里,關(guān)于C++ Qt開(kāi)發(fā):TableView與TreeView組件聯(lián)動(dòng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++ Qt開(kāi)發(fā):TableWidget表格組件

    C++ Qt開(kāi)發(fā):TableWidget表格組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 TableWidget 表格組件的常用方法及靈活運(yùn)用。 QTableWidget 是 Qt 中用于顯示表格數(shù)

    2024年02月04日
    瀏覽(27)
  • C++ Qt開(kāi)發(fā):PushButton按鈕組件

    C++ Qt開(kāi)發(fā):PushButton按鈕組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 QPushButton 按鈕組件的常用方法及靈活運(yùn)用。 QPushButton 是 Qt 框架中用于創(chuàng)建按鈕

    2024年02月05日
    瀏覽(23)
  • C++ Qt開(kāi)發(fā):LineEdit單行輸入組件

    C++ Qt開(kāi)發(fā):LineEdit單行輸入組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 LineEdit 單行輸入框組件的常用方法及靈活運(yùn)用。 在Qt中, QLineEdit 是一個(gè)用于輸

    2024年02月05日
    瀏覽(22)
  • C++ Qt 開(kāi)發(fā):ListWidget列表框組件

    C++ Qt 開(kāi)發(fā):ListWidget列表框組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 ListWidget 列表框組件的常用方法及靈活運(yùn)用。 QListWidget 是 Qt 中的一個(gè)列表框組

    2024年02月04日
    瀏覽(23)
  • C++ Qt開(kāi)發(fā):MdiArea多窗體組件

    C++ Qt開(kāi)發(fā):MdiArea多窗體組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 MdiArea 組件的常用方法及靈活運(yùn)用。 QMdiArea(Multiple Document Interface Area)是Qt中

    2024年02月04日
    瀏覽(18)
  • C++ Qt開(kāi)發(fā):SqlRelationalTable關(guān)聯(lián)表組件

    C++ Qt開(kāi)發(fā):SqlRelationalTable關(guān)聯(lián)表組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 SqlRelationalTable 關(guān)聯(lián)表組件的常用方法及靈活運(yùn)用。 在上一篇文章中詳細(xì)介紹了

    2024年02月04日
    瀏覽(22)
  • C++ Qt開(kāi)發(fā):DateTime日期時(shí)間組件

    C++ Qt開(kāi)發(fā):DateTime日期時(shí)間組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 QDateTime 日期與時(shí)間組件的常用方法及靈活運(yùn)用。 在Qt中,日期和時(shí)間的處理通

    2024年02月04日
    瀏覽(27)
  • C++ Qt開(kāi)發(fā):Charts繪圖組件概述

    C++ Qt開(kāi)發(fā):Charts繪圖組件概述

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 QCharts 二維繪圖組件的常用方法及靈活運(yùn)用。 Qt Charts 提供了一個(gè)強(qiáng)大且易于使

    2024年02月04日
    瀏覽(29)
  • C++ Qt開(kāi)發(fā):SqlTableModel映射組件應(yīng)用

    C++ Qt開(kāi)發(fā):SqlTableModel映射組件應(yīng)用

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 SqlTableModule 組件的常用方法及靈活運(yùn)用。 在多數(shù)情況下我們需要使用SQL的方法

    2024年02月04日
    瀏覽(23)
  • C++ Qt開(kāi)發(fā):TreeWidget 樹(shù)形選擇組件

    C++ Qt開(kāi)發(fā):TreeWidget 樹(shù)形選擇組件

    Qt 是一個(gè)跨平臺(tái)C++圖形界面開(kāi)發(fā)庫(kù),利用Qt可以快速開(kāi)發(fā)跨平臺(tái)窗體應(yīng)用程序,在Qt中我們可以通過(guò)拖拽的方式將不同組件放到指定的位置,實(shí)現(xiàn)圖形化開(kāi)發(fā)極大的方便了開(kāi)發(fā)效率,本章將重點(diǎn)介紹 TreeWidget 樹(shù)形選擇組件的常用方法及靈活運(yùn)用。 QTreeWidget 是 Qt 中的樹(shù)形控件組

    2024年02月04日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包