Qt學習之如何用程式碼實現UI佈局及顯示
阿新 • • 發佈:2018-11-19
本文以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是這個函式)。