Qt小部件基础教程(三):记事本头文件项目代码

此为一个系列的关于qt小部件的入门教程,在本主题中,我们通过使用C ++和Qt Widgets模块实现一个简单的记事本应用程序来教授基本的Qt知识。

Qt是目前最先进、最完整的跨平台C++开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。

QT最新试用版

记事本头文件

该向导为Notepad类生成了一个头文件,该头文件具有必要的#include,构造函数,析构函数和Ui对象。该文件如下所示:

#include namespace Ui {class Notepad;}class Notepad : public QMainWindow{    Q_OBJECTpublic:    explicit Notepad(QWidget *parent = nullptr);    ~Notepad();private slots:    void newDocument();    void open();    void save();    void saveAs();    void print();    void exit();    void copy();    void cut();    void paste();    void undo();    void redo();    void selectFont();    void setFontBold(bool bold);    void setFontUnderline(bool underline);    void setFontItalic(bool italic);    void about();private:    Ui::Notepad *ui;    QString currentFile;};

以下行包括QMainWindow,它提供一个主应用程序窗口:

#include < QMainWindow > 

以下各行在Ui名称空间中声明Notepad类,该名称空间是该uic工具从.ui文件生成的UI类的标准名称空间:

namespace Ui {class Notepad;}

类声明包含Q_OBJECT宏。它必须在类定义中排在首位,并将我们的类声明为QObject。自然,它还必须继承自QObject。一个QObject中增加了一些能力,以一个普通的C ++类。值得注意的是,类名称和插槽名称可以在运行时查询。也可以查询插槽的参数类型并调用它。

class Notepad : public QMainWindow{    Q_OBJECT

以下几行声明了一个构造函数,该构造函数的默认参数为parent。值0表示该窗口小部件没有父级(它是顶级窗口小部件)。

public:    explicit Notepad(QWidget *parent = nullptr);

以下行声明了一个虚拟析构函数,以释放对象在其生命周期中获取的资源。根据C ++命名约定,析构函数与其关联的类具有相同的名称,并以波浪 (为前缀。在QObject中,析构函数是虚拟的,以确保当通过指向基类的指针删除对象时,派生类的析构函数被正确调用。

    ~Notepad();

以下各行声明一个成员变量,该变量是指向记事本UI类的指针。成员变量与特定的类相关联,并且可用于其所有方法。

private:    Ui::Notepad *ui;    QString currentFile;

如果你对我们的产品感兴趣或者有任何疑问,欢迎咨询在线客服>>

高端UI界面开发
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月25日
下一篇 2020年6月25日

相关推荐

发表回复

登录后才能评论