QT學習之窗口部件

 

  • 對話框--QDialog

    • 模態對話框與非模態對話框

      •   模態對話框:就是至關於沒關閉它以前,不能再和該應用程序的其餘窗口進行交互(好比新建項目時彈出的對話框)
      •   非模態對話框:能夠與它交互,也能夠與該程序中的其餘項目進行交互,好比文檔編輯器中的查找替換對話框。
      •   實現方式:模態對話框---直接調用exec(),非模態對話框---先new一個對話框對象,而後調用show函數顯示便可。(注:show也能顯示模態對話框,只須要在show前面加上setModel(true)便可
      •       實現效果:exec函數只有關閉對話框以後才能進行顯示數據,show函數的話只會一閃而過,而不會產生預期的效果(能夠建立指針對象進行show顯示)

 

    • 多窗口切換

      •   信號和槽機制的實現
        •   手動關聯:利用connect函數
        •   自動關聯:將槽函數整合到槽的命名中,要用到QT中已經提供的信號,好比:on_showChildButton_clicked(),這個就是將on這個button和發射的信號綁定在一塊兒的,咱們在這個函數裏面進行關聯函數的撰寫就好了
        •     注:accept函數是qdialog裏面的函數,用來響應按鈕按下,槽函數執行結果的。

 

    • 標準對話框

      •   總共經常使用的對話框差很少8種吧,要用的時候再去看源碼吧,基本建立套路是同樣的。
      •   這裏就寫一個經常使用的輸入對話框吧
        // 輸入對話框
        void MyWidget::on_pushButton_4_clicked()
        {
            bool ok;
            // 獲取字符串
            QString string = QInputDialog::getText(this,tr("輸入字符串對話框"),
                      tr("請輸入用戶名:"),QLineEdit::Normal,tr("admin"),&ok);
            if(ok) qDebug() << "string:"<<string;
        
            // 獲取整數
            int value1 = QInputDialog::getInt(this,tr("輸入整數對話框"),
                      tr("請輸入-1000到1000之間的數值"),100,-1000,1000,10,&ok);
            if(ok) qDebug() << "value1:"<<value1;
        
            // 獲取浮點數
            double value2 = QInputDialog::getDouble(this,tr("輸入浮點數對話框"),
                      tr("請輸入-1000到1000之間的數值"),0.00,-1000,1000,2,&ok);
            if(ok) qDebug() << "value2:"<<value2;
        
            // 獲取條目
            QStringList items;
            items << tr("條目1") << tr("條目2");
            QString item = QInputDialog::getItem(this,tr("輸入條目對話框"),
                                       tr("請選擇一個條目"),items,0,true,&ok);
            if(ok) qDebug() << "item:"<<item;
        }

  • 其餘窗口部件

    • QFrame類

      •   QFrame類族是帶有邊框部件的基類,它的子類有Qlabel,還有QLCDNumber,QSplitter,還有QStackedWidget,QToolBox和QAbstractScrollrea。QAbstraccrallrea是全部帶有滾動區域的部件類的抽象基類,對於全部的帶有abstract的抽象類是不能直接使用的,可是能夠經過繼承實現本身的類,或者使用它提供的子類。QFeame類有個邊界框架,QFrame的主要功能是用來實現不一樣的邊框效果,效果是由形狀和陰影組成的。
        QFrame 的屬性:frameShape,frameShadow,lineWidth,midLineWidth
相關文章
相關標籤/搜索