QMainWindow学习-2
在上一个例子中我们创建了一个非常简单的QMainWindow,接下来我们以实际例子来一步一步(stepby step)的写一个类似于记事本的程序,我们就叫它textedit。
首先我们在mainwindow.h中新建一个类MainWindow继承QMainWindow,里面只有一个构造函数MainWindow()。
/*mainwindow.h*/
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow();
}
#endif // MAINWINDOW_H
然后在mainwindow.cpp中实现这个构造函数
/*mainwindow.cpp*/
#include <QLabel>
#include "mainwindow.h"
MainWindow::MainWindow()
{
setWindowTitle(tr("TextEdit"));
resize(600, 400);
QLabel *label = new QLabel(tr("Central Widget"));
setCentralWidget(label);
label->setAlignment(Qt::AlignCenter);
}
setWindowTitle是QWidget的一个函数,用于设置窗口标题
resize也是QWidget的一个函数,用于设置窗口大小。
setAlignment用于设置这个label的位置,参数是一个枚举类型,同前一个例子一样,在这里表示居中。
在main.cpp我们创建MainWindow类
#include <QApplication>
#include "mainwindow.h"
int main(int argc, char *argv)
{
QApplication app(argc, argv);
MainWindow window;
window.show;
return app.exec();
}
这个例子同前面一个例子没有什么两样,都是在CentralWidget中显示一个label,但是我们通过这个例子要告诉大家的是编写这类应用程序时,我们都要编写一个自己的类去继承这个QMainWindow,然后在我们自己类中实现特定的功能。