⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 score.cpp

📁 本文件是<精通QT4编程>的配套源代码
💻 CPP
字号:
#include <QtGui>

#include "score.h"
#include "mysortfilterproxymodel.h"

Score::Score(QWidget * parent, Qt::WindowFlags f)
	: QWidget(parent, f)
{
    setupUi(this);   
    populateTable();
    connect(btnFilter, SIGNAL(clicked(bool)), this, SLOT(setFilter()));

    proxyModel = new MySortFilterProxyModel(this);
    proxyModel->setDynamicSortFilter(true);
    
    proxyModel->setSourceModel(model);
    tableView->setAlternatingRowColors(true);
    tableView->setModel(proxyModel);
    setFilter();
}

Score::~Score()
{
}

void Score::populateTable()
{
    model = new QStandardItemModel(3, 4, this);

    model->setHeaderData(0, Qt::Horizontal, tr("姓名"));
    model->setHeaderData(1, Qt::Horizontal, tr("语文"));
    model->setHeaderData(2, Qt::Horizontal, tr("数学"));
    model->setHeaderData(3, Qt::Horizontal, tr("英语"));

    model->setData(model->index(0, 0), tr("李逵"));
    model->setData(model->index(0, 1), 65);
    model->setData(model->index(0, 2), 68);
    model->setData(model->index(0, 3), 70);

    model->setData(model->index(1, 0), tr("武松"));
    model->setData(model->index(1, 1), 70);
    model->setData(model->index(1, 2), 75);
    model->setData(model->index(1, 3), 83);

    model->setData(model->index(2, 0), tr("宋江"));
    model->setData(model->index(2, 1), 88);
    model->setData(model->index(2, 2), 90);
    model->setData(model->index(2, 3), 93);
}

void Score::setFilter()
{
	proxyModel->setMinChinese(spinChineseFrom->value());
	proxyModel->setMaxChinese(spinChineseTo->value());
	proxyModel->setMinMath(spinMathFrom->value());
	proxyModel->setMaxMath(spinMathTo->value());
	proxyModel->setMinEnglish(spinEnglishFrom->value());
	proxyModel->setMaxEnglish(spinEnglishTo->value());
	tableView->update();	// 如果不update(),表格的列标题将显示混乱
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -