QMainWindow学习-2

来源:互联网 发布:域名续费便宜 编辑:程序博客网 时间:2024/05/17 09:23

在上一个例子中我们创建了一个非常简单的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);

}

setWindowTitleQWidget的一个函数,用于设置窗口标题

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,然后在我们自己类中实现特定的功能。