• <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)德,非澹薄無(wú)以明志,非寧?kù)o無(wú)以致遠(yuǎn)。
            隨筆 - 398, 文章 - 0, 評(píng)論 - 196, 引用 - 0
            數(shù)據(jù)加載中……

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

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

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

            在qt工程的ui文件雙擊打開(kāi),添加控件和信號(hào)槽。

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

            国产一级做a爰片久久毛片| 久久婷婷五月综合色99啪ak| 欧美精品一区二区久久| 热久久国产精品| 国产精品亚洲美女久久久| 国内精品久久久久伊人av| 久久久久久夜精品精品免费啦| 亚洲精品无码久久久影院相关影片| 麻豆av久久av盛宴av| 欧美日韩精品久久免费| 伊人久久大香线蕉综合Av| 99久久国产宗和精品1上映| 久久人妻无码中文字幕| 久久久老熟女一区二区三区| 久久久久99精品成人片直播| 久久777国产线看观看精品| 久久亚洲综合色一区二区三区| 国产免费久久久久久无码| 久久久久久A亚洲欧洲AV冫 | 亚洲国产一成久久精品国产成人综合| 精品欧美一区二区三区久久久| 久久精品国产99久久丝袜| 伊人色综合久久天天网| 久久久久久亚洲AV无码专区| 青草影院天堂男人久久| 久久久人妻精品无码一区| 久久久久久国产精品美女 | 久久综合狠狠综合久久| 久久综合久久久| 久久这里的只有是精品23| 91精品国产综合久久精品| 久久亚洲国产成人影院网站| 中文字幕人妻色偷偷久久| 精品久久久久国产免费| 囯产精品久久久久久久久蜜桃| 99热热久久这里只有精品68| 亚洲综合久久夜AV | 国产精品99久久久久久董美香| 欧美亚洲国产精品久久高清| 久久精品国产黑森林| 国内精品久久久久久野外|