彩票走势图

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

转帖|使用教程|编辑:鲍佳佳|2020-07-28 16:40:21.223|阅读 154 次

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

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

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

点击下载QT最新试用版

记事本头文件

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

#include 

namespace Ui {
class Notepad;
}


class Notepad : public QMainWindow
{
    Q_OBJECT

public:
    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界面开发

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP