Qt学习之如何用代码实现UI布局及显示

本文以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是这个函数)。

Qt学习之如何用代码实现UI布局及显示_第1张图片

你可能感兴趣的:(C++,qt)