Qt QListView 簡單應用


簡言:listview 無論在mfc中還是在Qt中應用是極其廣泛的,本節簡單進行Qlistview在Qt中操作。

目標:QlistView中插入一段數據,根據點擊的相應順序,彈出列表中的項目。

.h

 1 #ifndef MAINWINDOW_H  2 #define MAINWINDOW_H
 3 
 4 #include <QMainWindow>
 5 #include <QStringListModel>
 6 #include <QStandardItemModel>
 7 #include <QModelIndex>
 8 
 9 namespace Ui { 10 class MainWindow; 11 } 12 
13 class MainWindow : public QMainWindow 14 { 15  Q_OBJECT 16 
17 public: 18     explicit MainWindow(QWidget *parent = 0); 19     ~MainWindow(); 20 
21 private: 22     Ui::MainWindow *ui; 23 
24 public: 25     QStringListModel *Model; 26     QStandardItemModel *ItemModel; 27     void init(); 28 
29 private slots: 30     void showClick(QModelIndex index); 31 }; 32 
33 #endif // MAINWINDOW_H

.cpp

 1 #include "mainwindow.h"
 2 #include "ui_mainwindow.h"
 3 #include <QMessageBox>
 4 
 5 MainWindow::MainWindow(QWidget *parent) :  6  QMainWindow(parent),  7     ui(new Ui::MainWindow)  8 {  9     ui->setupUi(this); 10  init(); 11 } 12 
13 void MainWindow::init() 14 { 15 // QStringList strlist; 16 // strlist<<"A"<<"B"<<"C"<<"D"; 17 // Model = new QStringListModel(strlist); 18 // ui->listView->setModel(Model); 19 // ui->listView->setModel(Model);
20 
21        ItemModel = new QStandardItemModel(this); 22 
23  QStringList strList; 24        strList.append("A"); 25        strList.append("B"); 26        strList.append("C"); 27        strList.append("D"); 28        strList.append("E"); 29        strList.append("F"); 30        strList.append("G"); 31 
32        int nCount = strList.size(); 33        for(int i = 0; i < nCount; i++) 34  { 35            QString string = static_cast<QString>(strList.at(i)); 36            QStandardItem *item = new QStandardItem(string); 37            ItemModel->appendRow(item); 38  } 39       ui->listView->setModel(ItemModel); 40       ui->listView->setFixedSize(200,300); 41 
42       connect(ui->listView,SIGNAL(clicked(QModelIndex)),this,SLOT(showClick(QModelIndex))); 43 } 44 
45 void MainWindow::showClick(QModelIndex index) 46 { 47  QString strTemp; 48     strTemp = index.data().toString(); 49 
50  QMessageBox msg; 51  msg.setText(strTemp); 52  msg.exec(); 53 
54 
55 } 56 MainWindow::~MainWindow() 57 { 58     delete ui; 59 }

實現效果:
這里寫圖片描述

這里寫圖片描述

總結:此為Qlistview在Qt應用中的簡單使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM