本文以Qtableview为例进行说明。
Qtableview是一个表格类,可以使用这个类来设置表格,进行内容的显示、增删、查找等等。
首先:正常创建一个Qt Widget Application项目。
mainwindow.h
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void Qstandarditem(); //初始化函数
private slots:
private:
Ui::MainWindow *ui;
QStandardItemModel *itemModel; //标准项目显示模板
QTableView *scoreview; //表格类
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->resize(780,540); //定义窗口大小
scoreview=new QTableView(this); //指针一定要实例化
Qstandarditem();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::Qstandarditem()
{
itemModel=new QStandardItemModel(3,2); //创建一个3行2列的模板
scoreview->setModel(itemModel); //表格连接
scoreview->resize(300,200);
scoreview->move(100,100); //设置表格左上角在主窗口中的位置
//下面是设置表格格子的宽度和高度
scoreview->setColumnWidth(0,100);
scoreview->setColumnWidth(1,100);
scoreview->setRowHeight(0,50);
scoreview->setRowHeight(1,50);
scoreview->setRowHeight(2,50);
}
重点:
scoreview=new QTableView(this);
this指继承自哪个类,有这个this则表格会显示在主窗口上
若没有这个this会出现以下两个问题
①表格会和主窗口分开,move函数是指表格相对于桌面的位置
②表格不会直接显示,需要加上show()函数(tableview是这个函数)。