《Qt快速入門》--- Qt的大致瞭解

       上一週,學校的程序設計周,要做個小程序:四則運算的自測系統。程序很簡單,如果認真寫的話,我應該可以在兩天內就可以搞定,不過想想程序設計周有整整兩週時間,如果只是寫這麼一個簡單的程序,真的是有點浪費了。於是琢磨着,要不弄個圖形化界面,畢竟大一的程序設計,就是隻寫了一個控制檯界面。現在都大三了,再寫一個控制檯界面,實在是太low點了。

      想法是很好,可是圖形化界面咋整呢,思來想去。雖說python、java寫圖形化界面更簡單些,奈何自己只對c/c++熟啊。。。。用C++寫圖形化界面,由於C沒有圖形的庫,只能藉助MFC或者QT了。MFC那玩意,很老了,比較難搞,相比之下,QT就比較友好了,於是果斷選擇了QT。

     接下來就是惡補QT啦。找了一門課程,看着評價不錯,實際上看下來,也感覺不錯,網址貼上,安利一下吧:https://study.163.com/course/courseMain.htm?courseId=1005069007

下面記錄一下自己學習上的一點總結:

① 程序運行起來,動力是事件,而事件分爲兩類:點擊和鍵盤輸入。

② 由於事件的發生時間是不確定的,所以程序得不停地監聽。

③ 寫一個QT程序,要考慮兩件事:1.界面怎麼寫(外觀)2.怎麼處理事件(功能)

④ QT的main函數一般都是:

#inlcude <QtGui/QApplication>

#inlcude "dialog.h"

int main ( int argc, char *argv[])

{

    QApplication a (argc,argv);          //創建一個名叫a的
    
    Dialog w;            //創建一個名叫w的對話框

    w.show();            //顯示這個對話框

    return a.exec();        //進入消息循環

}

return a.exec()這句使程序進入消息循環,等待可能輸入進行響應。這裏main()把控制權轉交給Qt,Qt完成事件處理工作,當應用程序退出的時候exec()的值就會返回。在exec()中,Qt接受並處理用戶和系統的事件並且把它們傳遞給適當的窗口部件。

⑤ 在QT中,一個窗口就對應一個類,每一個窗口的顯示都是一個類的實例運行。而每個窗口對應三個文件:xx.h、xx.cpp、xx.ui。

xx.ui是窗口的ui文件,用於設置窗口的外觀,xx.h是窗口的頭文件,用於存放類的聲明,函數的聲明,xx.cpp包含xx.h頭文件,用於存放類的實現定義,函數的實現。

⑥ QT採用MVC模式,M是model,管理數據,V是view,管理視圖外觀,C是controller,管理功能。

⑦ QT的ui是一個大的類,存在層層的繼承關係,以按鈕爲例,一個按鈕是QPushButton類的一個實例對象,而QPushButton類繼承於QAbstractButton類,QAbstractButton類繼承於Qwidget類,Qwidget類繼承於QObject類。

⑧  任何可見的屬性都是繼承於QWidget類。要找一個控件的屬性,首先先考慮這個屬性是不是很多控件都有的(例如控件大小這一類公共屬性),還是這個獨有的(例如lebel控件的顯示文字等這樣控件獨有的屬性)。一般對於控件獨有的屬性,一般是從底層往上找。

⑨ 每一個控件都有一個名字,用於與功能函數進行交互。

⑩ 一般如果運行結果的界面與自己設計的預期相差很大時,都是某個控件的垂直(水平)策略不當造成的,一般都設定爲fixed。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章