zoukankan      html  css  js  c++  java
  • 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应用中的简单使用

  • 相关阅读:
    codevs1227 方格取数2 注意数组啊啊啊啊啊啊啊啊啊啊
    codevs1033 蚯蚓的游戏问题 裸最小费用最大流,注意要拆点
    模板题 codevs 1993 草地排水 想学习的请看链接
    java初级易错问题总结
    JAVA基本数据类型所占字节数是多少?
    forword和重定向有什么区别?
    Spring框架注解
    hibernate利用mysql的自增张id属性实现自增长id和手动赋值id并存
    eclispe中安装hibernate插件
    struts2使用模型传值
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14592326.html
Copyright © 2011-2022 走看看