首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

Qt 學習之路 (18):標準輸入對話框 QInputDialog 詳解

     編輯:關於C語言

前言

QInputDialog 專門用於接收用戶輸入,提供多個靜態便利函數,類似 QColorDialog::getColor()。本篇詳細解析 getText() 及其姊妹函數。

一、getText() 完整範例

bool ok;
QString text = QInputDialog::getText(NULL, "Input Dialog",
    "Please input your comment",
    QLineEdit::Normal,
    "your comment",
    &ok);

if (ok) {
    QMessageBox::information(NULL, "Information",
        "Your comment is: <b>" + text + "</b>",
        QMessageBox::Yes | QMessageBox::No,
        QMessageBox::Yes);
}

二、函數簽名詳細解析

static QString getText(QWidget *parent,
                       const QString &title,
                       const QString &label,
                       QLineEdit::EchoMode mode = QLineEdit::Normal,
                       const QString &text = QString(),
                       bool *ok = 0,
                       Qt::WindowFlags flags = 0);
參數說明
parent父視窗指標
title對話框標題
label輸入框上方提示文字
mode回顯模式:Normal(預設)、Password、PasswordEchoOnEdit 等
text輸入框預設文字
ok輸出參數:用戶按 OK 為 true,Cancel/關閉為 false
flags視窗旗標,控制無邊框、置頂等行為

回傳值為用戶輸入的 QString,**必須配合 ok 判斷有效性**。

三、其他輸入類型函數

  • getInt() / getInteger():整數輸入,含範圍、步長控制
  • getDouble():浮點數輸入,可設定小數位數
  • getItem():下拉選單選擇,支援可編輯模式

用法邏輯與 getText() 高度一致,參考 API 即可快速上手。

四、關鍵提醒

  1. 所有函數均為 static,直接用類名呼叫
  2. 對話框皆為模態,會阻塞直到用戶關閉
  3. ok 參數為指標,傳 NULL 可忽略,但無法區分用戶取消與輸入空字串
  4. 預設文字 text 允許為空 QString()

本文出自「豆子空間」博客。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved