<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 10.5 信號與槽的自動連接 信號與槽可以通過使用手寫代碼顯式的實現關聯 ,也可以運用 QMetaObject 類規定的槽 函數命名范式來實現自動關聯。 ### 10.5.1 顯式關聯 首先我們來看一下,不使用“自動關聯規則”的情形。 在下面這段代碼里面,我們定義了一個對話框類,它有一個私有的槽 checkValues(), 它用來檢驗用戶提供的值是否正確。 ``` class ImageDialog : public QDialog, private Ui::ImageDialog { Q_OBJECT public: ImageDialog(QWidget *parent = 0); private slots: void checkValues(); }; ``` 在這個對話框類的構造函數中,我們把 Cancel 按鈕的 clicked()信號與對話框類的 reject()槽關聯起來,把 OK 按鈕的 clicked()信號與對話框類的 checkValues()槽關聯起來, 這都是通過手寫代碼顯式的實現的。 ``` ImageDialog::ImageDialog(QWidget *parent) : QDialog(parent) { setupUi(this); okButton-&gt;setAutoDefault(false); cancelButton-&gt;setAutoDefault(false); ... connect(okButton, SIGNAL(clicked()), this, SLOT(checkValues())); } void ImageDialog::checkValues() { if (nameLineEdit-&gt;text().isEmpty()) { (void) QMessageBox::information(this, tr("No Image Name"), tr("Please supply a name for the image."), QMessageBox::Cancel); } else { accept(); } } ``` ### 10.5.2 自動關聯 下面的例子演示了信號與槽自動關聯的具體實現過程 。我們只需按照下面的標準格式定 義槽函數,這之后,uic 將會根據 QMetaObject 類制定的規則,生成界面實體類的 setupUi() 函數的內容,并完成信號與槽的關聯,這一過程是隱藏在背后實現的,我們也無需過多關心。 ``` void on_&lt;object name&gt;_&lt;signal name&gt;(&lt;signal parameters&gt;); ``` 我們通過定義私有槽函數 on_okButton_clicked()即實現了 OK 按鈕的 clicked()信號和槽的連接。 ``` class ImageDialog : public QDialog, private Ui::ImageDialog { Q_OBJECT public: ImageDialog(QWidget *parent = 0); private slots: void on_okButton_clicked(); }; ``` 信號與槽的自動連接機制提供了一種槽函數的命名范式,它簡化了程序設計者的工作 ,使得用戶界面設計變得有章可循并且充滿樂趣。筆者建議讀者朋友盡量采用這種方法來設 計 Qt 用戶界面。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看