首页 > 编程语言 > 详细

QTableWidget点击表头进行排序 实现

时间:2018-06-06 22:55:59      阅读:853      评论:0      收藏:0      [点我收藏+]

一、 .cpp文件

#include "qtablewidgetsort.h"
#include <QDebug>

QTableWidgetSort::QTableWidgetSort(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
    ui.tableWidget->setRowCount(10);
    ui.tableWidget->setColumnCount(5);

    QStringList hListheader;
    hListheader << QString::fromLocal8Bit("姓名");
    ui.tableWidget->setHorizontalHeaderLabels(hListheader);

    ui.tableWidget->setItem(0, 0, new QTableWidgetItem("a"));
    ui.tableWidget->setItem(1, 0, new QTableWidgetItem("d"));
    ui.tableWidget->setItem(2, 0, new QTableWidgetItem("c"));
    ui.tableWidget->setItem(3, 0, new QTableWidgetItem("b"));

    ui.tableWidget->setItem(4, 0, new QTableWidgetItem("19"));
    ui.tableWidget->setItem(5, 0, new QTableWidgetItem("15"));
    ui.tableWidget->setItem(6, 0, new QTableWidgetItem("11"));

    ui.tableWidget->setItem(7, 0, new QTableWidgetItem(QString::fromLocal8Bit("张三")));
    ui.tableWidget->setItem(8, 0, new QTableWidgetItem("qqq"));
    ui.tableWidget->setItem(9, 0, new QTableWidgetItem("zzzz"));

    //连接水平表头响应
    connect(ui.tableWidget->horizontalHeader(), SIGNAL(sectionClicked(int)), this, SLOT(sort(int)));
}

QTableWidgetSort::~QTableWidgetSort()
{

}

void QTableWidgetSort::sort(int col)
{
    ui.tableWidget->sortItems(col, Qt::AscendingOrder);
}

二、.h文件

#ifndef QTABLEWIDGETSORT_H
#define QTABLEWIDGETSORT_H

#include <QtWidgets/QMainWindow>
#include "ui_qtablewidgetsort.h"

class QTableWidgetSort : public QMainWindow
{
    Q_OBJECT

public:
    QTableWidgetSort(QWidget *parent = 0);
    ~QTableWidgetSort();

public slots:
    void sort(int col);

private:
    Ui::QTableWidgetSortClass ui;
};

#endif // QTABLEWIDGETSORT_H

三、运行程序

  技术分享图片

四、效果图

  技术分享图片

 

QTableWidget点击表头进行排序 实现

原文:https://www.cnblogs.com/jiangson/p/9147662.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!