• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Benjamin

            靜以修身,儉以養(yǎng)德,非澹薄無以明志,非寧靜無以致遠。
            隨筆 - 398, 文章 - 0, 評論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

            vs2017+Qt 5.12.0開發(fā)環(huán)境搭建

            1、qt下載:http://download.qt.io/archive/qt/5.12/5.12.0/qt-opensource-windows-x86-5.12.0.exe
            2、執(zhí)行qt-opensource-windows-x86-5.12.0.exe,在Qt Account - Your unified login to erverything Qt頁面選擇Skip;
                  Qt 5.12.0 設(shè)置Qt->Qt 5.12.0 勾選MSVC 2017 32-bit、MSVC 2017 64-bit、 UWP ARMv7(MSVC 2017)、UWP x64(MSVC 2017)、 UWP x86(MSVC 2017)即可。具體的模塊說明如下:
             MinGW 7.3.0 64 bit 編譯器模塊。MinGW 是 Minimalist GNU for Windows 的縮寫,MinGW是 Windows 平臺上使用的 GNU 工具集導(dǎo)入庫的集合。
            用于 UWP 編譯的模塊。UWP 是 Windows 10 中 Universal Windows Platform 的簡稱,有不同編譯器類型的 UWP。
             用于 windows 平臺上的 MSVC 編譯器模塊,如 msvc2015 32-bit 和 msvc2015 64-bit 等。要安裝 MSVC 編譯器的模塊,需要計算機上已經(jīng)安裝相應(yīng)版本的 Visual Studio。
             用于 Android 平臺的模塊,如 Android x86 和 Android ARMv7。
            Sources 模塊是 Qt 的源程序。
            Qt Charts 是二維圖表模塊,用于繪制柱狀圖、餅圖、曲線圖等常用二維圖表。
            Qt Data Visualization 是三維數(shù)據(jù)圖表模塊,用于數(shù)據(jù)的三維顯示,如散點的三維空間分布、三維曲面等。
             Qt Purchasing、Qt WebEngine、Qt Network Auth(TP)等其他模塊,括號里的 TP 表示技術(shù)預(yù)覽(Technology Preview)。
            Qt Scritp(Deprecated)是腳本模塊,括號里的“Deprecated”表示這是已經(jīng)過時的模塊。
            “Tools”節(jié)點下面是一些工具軟件,一般不用勾選默認的就可以。內(nèi)容如下:
             Qt Creator 4.8.0 是用于 Qt 程序開發(fā)的 IDE。
             MinGW 5.3.0 是 MinGW 編譯工具鏈。
            Strawberry Perl 是一個 Perl 語言工具。
            3、安裝vs2017的qt插件:Tools-->Extensions and Updates-->Online,搜索Qt,找到Qt Visual Studio Tools下載安裝
            4、配置Qt VS Tool的環(huán)境
                Qt VS Tools點擊Qt Options,Add按鈕,Path按鈕找選擇qt安裝目錄下的MSVC 編譯器模塊路徑。
            5、Qt的信號槽
            qt信號槽是觀察者模式的一種實現(xiàn),特性如下:
            A、一個信號就是一個能夠被觀察的事件,或者至少是事件已經(jīng)發(fā)生的一種通知;
            B、一個槽就是一個觀察者,通常就是在被觀察的對象發(fā)生改變的時候——也可以說是信號發(fā)出的時候——被調(diào)用的函數(shù);
            C、信號與槽的連接,形成一種觀察者-被觀察者的關(guān)系;
            D、當(dāng)事件或者狀態(tài)發(fā)生改變的時候,信號就會被發(fā)出;同時,信號發(fā)出者有義務(wù)調(diào)用所有注冊的對這個事件(信號)感興趣的函數(shù)(槽)。
            信號和槽是多對多的關(guān)系。一個信號可以連接多個槽,而一個槽也可以監(jiān)聽多個信號。
            信號槽與語言無關(guān),有多種方法可以實現(xiàn)信號槽,不同的實現(xiàn)機制會導(dǎo)致信號槽的差別很大。信號槽術(shù)語最初來自 Trolltech 公司的 Qt 庫,由于其設(shè)計理念的先進性,立刻引起計算機科學(xué)界的注意,提出了多種不同的實現(xiàn)。目前,信號槽依然是 Qt 庫的核心之一,其他許多庫也提供了類似的實現(xiàn),甚至出現(xiàn)了一些專門提供這一機制的工具庫。
              信號槽是Qt對象以及其派生類對象之間的一種高效通信接口,是Qt的核心特性,也是Qt區(qū)別與其他工具包的重要地方。信號槽完全獨立于標(biāo)準(zhǔn)的C/C++語言,因此要正確的處理好信號和槽,必須借助于一個成為MOC(Meta Object Compiler)的Qt工具,MOC工具是一個C++預(yù)處理程序,能為高層次的事件處理自動生成所需要的附加代碼。

            MFC中的消息機制沒有采用C++中的虛函數(shù)機制,原因是消息太多,虛函數(shù)開銷太大。在Qt中也沒有采用C++中的虛函數(shù)機制,而是采用了信號槽機制,原因與此相同。更深層次的原因上,多態(tài)的底層實現(xiàn)機制只有兩種,一種是按照名稱查表,一種是按照位置查表。兩種方式各有利弊,而C++的虛函數(shù)機制無條件的采用了后者,導(dǎo)致的問題就是在子類很少重載基類實現(xiàn)的時候開銷太大,再加上界面編程中子類眾多的情況,基本上C++的虛函數(shù)機制效率太低,于是各家?guī)斓木帉懻呔椭缓米灾\生路,當(dāng)然,這其實是C++語言本身的缺陷。

            qt的事件函數(shù)要自己手動添加,命名格式些函數(shù)是有命名規(guī)則的,"on_"后面是控件的設(shè)計名字(objectName,步驟三中,紅色字體部分),然后后面是“_clicked()”,你在設(shè)計的時候最好遵循這種命名格式,這樣你就可以省掉4.2的步驟(2.連接信號與槽.),也就是說,你如果遵循這個命名格式的話你就不用寫connect()函數(shù)了,因為這種定義讓系統(tǒng)能夠自動識別信號與槽的連接。
            如果沒有按照命名規(guī)則來命名槽函數(shù),那么就要進行信號與槽的連接,所謂信號與槽的連接就是,一個信號send出來,要有一個槽接收這個信號,然后執(zhí)行相應(yīng)任務(wù),這個過程需要連接的,如果不設(shè)計這個連接,即使Button send出一個click信號,也沒有什么東西去執(zhí)行click后的任務(wù)。

            在qt工程的ui文件雙擊打開,添加控件和信號槽。

            posted on 2018-12-29 20:19 Benjamin 閱讀(11138) 評論(0)  編輯 收藏 引用 所屬分類: VC

            久久久久国产一级毛片高清版| 久久久无码精品亚洲日韩软件| 亚洲日本va午夜中文字幕久久| 亚洲国产精品狼友中文久久久| 国产成人久久精品一区二区三区 | 久久精品国产福利国产秒| 国产成人99久久亚洲综合精品| 日韩久久久久中文字幕人妻| 精品乱码久久久久久久| 青青草原综合久久大伊人导航| 色欲久久久天天天综合网精品| 少妇熟女久久综合网色欲| AV无码久久久久不卡蜜桃| 久久久久久毛片免费看| 粉嫩小泬无遮挡久久久久久| 亚洲精品乱码久久久久久不卡| 久久免费精品视频| 精品国产乱码久久久久久呢| 久久强奷乱码老熟女网站| 欧美综合天天夜夜久久| 久久久久亚洲av无码专区| 伊人色综合九久久天天蜜桃| 91久久精品视频| 久久精品国产免费| 久久er热视频在这里精品| 亚洲午夜无码久久久久| 国产69精品久久久久观看软件| 久久无码国产| 久久九九久精品国产免费直播| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 免费国产99久久久香蕉| 精品久久久无码21p发布| 四虎影视久久久免费观看| 久久久久久国产精品美女| 久久亚洲av无码精品浪潮| 日韩美女18网站久久精品| 思思久久好好热精品国产| 亚洲欧美久久久久9999| 久久SE精品一区二区| 热re99久久精品国99热| 老色鬼久久亚洲AV综合|