<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                {% raw %} # Qyoto 對話框 > 原文: [http://zetcode.com/gui/vbqyoto/dialogs/](http://zetcode.com/gui/vbqyoto/dialogs/) 在 Visual Basic Qyoto 編程教程的這一部分中,我們將使用對話框。 對話框窗口或對話框是大多數現代 GUI 應用必不可少的部分。 對話被定義為兩個或更多人之間的對話。 在計算機應用中,對話框是一個窗口,用于與應用“對話”。 對話框用于輸入數據,修改數據,更改應用設置等。對話框是用戶與計算機程序之間進行通信的重要手段。 ## `MessageDialog` 消息框是方便的對話框,可向應用的用戶提供消息。 該消息由文本和圖像數據組成。 ```vb ' ZetCode Mono Visual Basic Qt tutorial ' ' This program shows ' QMessageBox dialogs ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Qyoto Public Class VBQApp Inherits QWidget Public Sub New() Me.SetWindowTitle("Message boxes") Me.InitUI() Me.Resize(220, 90) Me.Move(300, 300) Me.Show() End Sub Private Sub InitUI() Dim grid As New QGridLayout(Me) grid.Spacing = 2 Dim errb As New QPushButton("Error", Me) Dim warnb As New QPushButton("Warning", Me) Dim questb As New QPushButton("Question", Me) Dim infob As New QPushButton("Information", Me) Dim aboutb As New QPushButton("About", Me) grid.AddWidget(errb, 0, 0) grid.AddWidget(warnb, 0, 1) grid.AddWidget(questb, 1, 0) grid.AddWidget(infob, 1, 1) grid.AddWidget(aboutb, 2, 0) Connect(errb, SIGNAL("clicked()"), Me, SLOT("OnClicked()")) Connect(warnb, SIGNAL("clicked()"), Me, SLOT("OnClicked()")) Connect(questb, SIGNAL("clicked()"), Me, SLOT("OnClicked()")) Connect(infob, SIGNAL("clicked()"), Me, SLOT("OnClicked()")) Connect(aboutb, SIGNAL("clicked()"), Me, SLOT("OnClicked()")) End Sub <Q_SLOT()> _ Private Sub OnClicked() Dim button As QPushButton = Sender() If "Error".Equals(button.Text()) QMessageBox.critical(Me, "Error", "Error loading file!") Else If "Warning".Equals(button.Text()) QMessageBox.warning(Me, "Warning", "Operation not permitted!") Else If "Question".Equals(button.Text()) QMessageBox.question(Me, "Question", "Are you sure to quit?") Else If "Information".Equals(button.Text()) QMessageBox.information(Me, "Information", "Download completed.") Else If "About".Equals(button.Text()) QMessageBox.about(Me, "About", "ZetCode Qyoto Visual Basic tutorial.") End If End Sub Public Shared Sub Main(ByVal args() As String) Dim qapp As New QApplication(args) Dim app As New VBQApp QApplication.Exec() End Sub End Class ``` 我們使用`GridLayout`管理器來設置五個按鈕的網格。 每個按鈕顯示一個不同的消息框。 ```vb Dim button As QPushButton = Sender() ``` 在這里,我們確定哪個按鈕稱為`ShowDialog()`方法。 ```vb If "Error".Equals(button.Text()) QMessageBox.critical(Me, "Error", "Error loading file!") ``` 如果按下錯誤按鈕,則會顯示錯誤對話框。 我們使用`QMessageBox`類的靜態方法來顯示消息框。 ![Information message dialog](https://img.kancloud.cn/d4/ae/d4ae11818b9f2af162efe0a4cc74ea87_208x117.jpg) ![Warning message dialog](https://img.kancloud.cn/cf/8f/cf8f49792a0e9836b2eb414e7081b52f_229x117.jpg) ![Question message dialog](https://img.kancloud.cn/4c/be/4cbef95bdc9781de9d958043c3bc59a7_203x117.jpg) ![Error message dialog](https://img.kancloud.cn/07/fd/07fd73102ecd163de8426feb6ba47af5_182x117.jpg) ![About message dialog](https://img.kancloud.cn/02/44/0244b1f335a79f6a5aec215283844569_198x108.jpg) ## `QInputDialog` `QInputDialog`類提供了一個簡單的便捷對話框,可從用戶那里獲取單個值。 輸入值可以是字符串,數字或列表中的項目。 必須設置標簽以告知用戶他們應該輸入什么。 ```vb ' ZetCode Mono Visual Basic Qt tutorial ' ' This program shows ' QInputDialog dialogs ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Qyoto Public Class VBQApp Inherits QWidget Dim edit As QLineEdit Public Sub New() Me.SetWindowTitle("QInputDialog") Me.InitUI() Me.Resize(300, 150) Me.Move(300, 300) Me.Show() End Sub Private Sub InitUI() Dim show As New QPushButton("Dialog", Me) Connect(show, SIGNAL("clicked()"), Me, SLOT("ShowDialog()")) show.FocusPolicy = FocusPolicy.NoFocus show.Move(20, 20) edit = New QLineEdit(Me) edit.Move(130, 22) End Sub <Q_SLOT()> _ Private Sub ShowDialog() Dim text As String = QInputDialog.GetText( _ Me, "Input Dialog", "Enter your name") If text <> Nothing AndAlso text.Trim() <> String.Empty edit.SetText(text) End If End Sub Public Shared Sub Main(ByVal args() As String) Dim qapp As New QApplication(args) Dim app As New VBQApp QApplication.Exec() End Sub End Class ``` 在代碼示例中,我們有一個按鈕和一行編輯。 該按鈕顯示一個輸入對話框。 我們得到一些文本,文本顯示在行編輯小部件中。 ```vb Dim text As String = QInputDialog.GetText( _ Me, "Input Dialog", "Enter your name") ``` `GetText()`靜態方法創建輸入對話框。 對話框中的文本存儲在`text`變量中。 ```vb If text <> Nothing AndAlso text.Trim() <> String.Empty edit.SetText(text) End If ``` 在更新行編輯之前,請確保`text`變量不為`null`且不為空,并且不僅由空格組成。 ![Input dialog](https://img.kancloud.cn/e2/ad/e2adf580f28f8532fe72af6305cc3d67_206x135.jpg) 圖:輸入對話框 ## `QColorDialog` `QColorDialog`類提供用于指定顏色的對話框小部件。 顏色對話框的功能是允許用戶選擇顏色。 ```vb ' ZetCode Mono Visual Basic Qt tutorial ' ' In this program, we use the ' QColorDialog to change the color ' of a label text ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Qyoto Public Class VBQApp Inherits QWidget Dim label As QLabel Public Sub New() Me.SetWindowTitle("QColorDialog") Me.InitUI() Me.Resize(300, 150) Me.Move(300, 300) Me.Show() End Sub Private Sub InitUI() label = New QLabel("ZetCode Qyoto Visual Basic tutorial", Me) Dim vbox As New QVBoxLayout(Me) label.Alignment = AlignmentFlag.AlignCenter vbox.AddWidget(label) End Sub Protected Overrides Sub MousePressEvent(ByVal e As QMouseEvent) Dim color As QColor = QColorDialog.GetColor() If Not color.IsValid() Then Return End If Dim style As String = String.Format("QWidget {{ color: {0} }}", _ color.Name()) label.SetStyleSheet(style) End Sub Public Shared Sub Main(ByVal args() As String) Dim qapp As New QApplication(args) Dim app As New VBQApp QApplication.Exec() End Sub End Class ``` 我們在窗口中心顯示一些文本。 通過單擊窗口區域,我們顯示一個顏色對話框。 我們將文本前景色更改為從對話框中選擇的顏色。 ```vb Protected Overrides Sub MousePressEvent(ByVal e As QMouseEvent) ... End Sub ``` 為了接收我們窗口的鼠標按下事件,我們必須重寫`MousePressEvent()`方法。 ```vb Dim color As QColor = QColorDialog.GetColor() ``` 正在創建`QColorDialog`。 所選顏色存儲在`color`變量中。 ```vb If Not color.IsValid() Then Return End If ``` 當按下取消按鈕時,我們什么也不做。 ```vb Dim style As String = String.Format("QWidget {{ color: {0} }}", _ color.Name()) label.SetStyleSheet(style) ``` 在這里,我們更新標簽文本的前景色。 ![QColorDialog](https://img.kancloud.cn/ca/7b/ca7bc14ae45e67d8358252d27471dafa_350x270.jpg) 圖:`QColorDialog` ## `QFontDialog` `QFontDialog`類提供用于選擇字體的對話框小部件。 ```vb ' ZetCode Mono Visual Basic Qt tutorial ' ' In this program, we use the ' QFontDialog to change the font ' of a label text ' ' author jan bodnar ' last modified May 2009 ' website www.zetcode.com Imports Qyoto Public Class VBQApp Inherits QWidget Dim label As QLabel Public Sub New() Me.SetWindowTitle("QFontDialog") Me.InitUI() Me.Resize(300, 150) Me.Move(300, 300) Me.Show() End Sub Private Sub InitUI() label = New QLabel("ZetCode Qyoto Visual Basic tutorial", Me) Dim vbox As New QVBoxLayout(Me) label.Alignment = AlignmentFlag.AlignCenter vbox.AddWidget(label) End Sub Protected Overrides Sub MousePressEvent(ByVal e As QMouseEvent) Dim ok As Boolean = True Dim font As QFont = QFontDialog.GetFont(ok) If Not ok Then Return End If label.Font = font End Sub Public Shared Sub Main(ByVal args() As String) Dim qapp As New QApplication(args) Dim app As New VBQApp QApplication.Exec() End Sub End Class ``` 此示例與上一個示例相似。 這次,我們更改文本的字體。 ```vb Dim font As QFont = QFontDialog.GetFont(ok) ``` 正在創建`QFontDialog`。 當我們按下對話框的 OK 按鈕時,將設置`boolean ok`變量。 ```vb If Not ok Then Return End If ``` 如果沒有按下“確定”按鈕,我們什么也不做。 ```vb label.Font = font ``` `font`字段存儲所選字體。 我們將標簽的字體更新為新選擇的字體。 ![QFontDialog](https://img.kancloud.cn/40/3e/403ef54cd8fe7d45bf6baaea8d6ecc72_350x266.jpg) 圖:`QFontDialog` 在 Visual Basic Qyoto 教程的這一部分中,我們使用了對話框窗口。 {% endraw %}
                  <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>

                              哎呀哎呀视频在线观看