• <menu id="w2i4a"></menu>
  • logo Qt使用教程2020

    文檔首頁>>Qt使用教程2020>>Qt小部件基礎(chǔ)教程(三):記事本頭文件項(xiàng)目代碼

    Qt小部件基礎(chǔ)教程(三):記事本頭文件項(xiàng)目代碼


    Qt是目前最先進(jìn)、最完整的跨平臺C++開發(fā)工具。它不僅完全實(shí)現(xiàn)了一次編寫,所有平臺無差別運(yùn)行,更提供了幾乎所有開發(fā)過程中需要用到的工具。如今,Qt已被運(yùn)用于超過70個(gè)行業(yè)、數(shù)千家企業(yè),支持?jǐn)?shù)百萬設(shè)備及應(yīng)用。

    點(diǎn)擊下載QT最新試用版

    記事本頭文件

    該向?qū)镹otepad類生成了一個(gè)頭文件,該頭文件具有必要的#include,構(gòu)造函數(shù),析構(gòu)函數(shù)和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,它提供一個(gè)主應(yīng)用程序窗口:

    #include < QMainWindow > 

    以下各行在Ui名稱空間中聲明Notepad類,該名稱空間是該uic工具從.ui文件生成的UI類的標(biāo)準(zhǔn)名稱空間:

    namespace Ui {
    class Notepad;
    }

    類聲明包含Q_OBJECT宏。它必須在類定義中排在首位,并將我們的類聲明為QObject。自然,它還必須繼承自QObject。一個(gè)QObject中增加了一些能力,以一個(gè)普通的C ++類。值得注意的是,類名稱和插槽名稱可以在運(yùn)行時(shí)查詢。也可以查詢插槽的參數(shù)類型并調(diào)用它。

    class Notepad : public QMainWindow
    {
        Q_OBJECT

    以下幾行聲明了一個(gè)構(gòu)造函數(shù),該構(gòu)造函數(shù)的默認(rèn)參數(shù)為parent。值0表示該窗口小部件沒有父級(它是頂級窗口小部件)。

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

    以下行聲明了一個(gè)虛擬析構(gòu)函數(shù),以釋放對象在其生命周期中獲取的資源。根據(jù)C ++命名約定,析構(gòu)函數(shù)與其關(guān)聯(lián)的類具有相同的名稱,并以波浪號(?)為前綴。在QObject中,析構(gòu)函數(shù)是虛擬的,以確保當(dāng)通過指向基類的指針刪除對象時(shí),派生類的析構(gòu)函數(shù)被正確調(diào)用。

        ~Notepad();

    以下各行聲明一個(gè)成員變量,該變量是指向記事本UI類的指針。成員變量與特定的類相關(guān)聯(lián),并且可用于其所有方法。

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

    如果你對我們的產(chǎn)品感興趣或者有任何疑問,歡迎咨詢慧都在線客服>>

    慧都高端UI界面開發(fā)
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();