成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊一聊 QMessageBox 的高級用法

開發(fā)
設置消息框的窗口模式,確定其在應用程序中的行為。窗口模式控制了消息框對其他窗口的交互影響。

QMessageBox高級用法

// 可以使用 setDefaultButton 來指定默認按鈕 即按下Enter時激活的按鈕
// 可以使用setEscapeButton() 指定escape按鈕(按下Esc時激活的按鈕)
QMessageBox msgBox;
// 設置LOGO
msgBox.setIcon(QMessageBox::Information); // 設置圖標
msgBox.setWindowTitle("Messagebox測試"); // 設置標題
// 設置自定義圖標
// msgBox.setIcon(QIcon(":/path/to/your/icon.png"));
// 創(chuàng)建自定義圖標的 QPixmap 對象
//QPixmap customIcon(":/path/to/your/icon.png"); // 請確保路徑正確并已包含在 Qt 資源文件中
// 設置自定義的圖標
//msgBox.setIconPixmap(customIcon);
msgBox.setText(title);
msgBox.setInformativeText(Information); // 向用戶提供更多詳細信息
msgBox.setDetailedText(detail); // 設置此屬性,就會出現(xiàn) show Detail按鈕,點擊之后,呈現(xiàn)Detail詳細信息
// setTextFormat 設置顯示的文本格式 將文本格式化為純文本或富文本(如 HTML 格式),從而能夠更靈活地展示信息。
msgBox.setTextFormat(Qt::RichText);
msgBox.setText("<b>這是一個富文本消息框示例。</b><br>"
               "你可以使用 <i>HTML</i> 標簽來格式化文本。<br>"
               "<ul>"
               "<li>項目1</li>"
               "<li>項目2</li>"
               "<li>項目3</li>"
               "</ul>");

// 設置標準按鈕
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Discard); // 啟動彈窗時 默認的按鈕
msgBox.setEscapeButton(QMessageBox::Cancel); // 點擊ESC按鈕激活的按鈕
// 添加復選框
QCheckBox *box = new QCheckBox("我同意條款和條件");
msgBox.setCheckBox(box);
// 添加按鈕
msgBox.addButton("ApplyRole",QMessageBox::ApplyRole);

// 設置文本交互標志
msgBox.setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
// 設置MessageBox的應用程序模態(tài)
msgBox.setWindowModality(Qt::ApplicationModal);

int ret = msgBox.exec();
switch (ret) {
    case QMessageBox::Save:
        // Save was clicked
        qDebug()<<"Clicked the sava";
        break;
    case QMessageBox::Discard:
        // Don't Save was clicked
        qDebug()<<"Clicked the Discard";
        break;
    case QMessageBox::Cancel:
        // Cancel was clicked
        qDebug()<<"Clicked the Cancel";
        break;
    default:
        // should never be reached
        break;
}

呈現(xiàn)內容

設置詳細信息區(qū)域中顯示文本

文本將被解釋為純文本。默認情況下,此屬性包含空字符串。

設置之后會出現(xiàn) 查看詳細信息的 文本按鈕:

QString detailedText() const
void setDetailedText(const QString &text)

設置圖標

用于顯示實際圖標的pixmap取決于當前的GUI樣式。也可以通過設置icon pixmap屬性為圖標設置自定義pixmap。

QMessageBox::Icon icon() const
void setIcon(QMessageBox::Icon)
// 參考圖標
QMessageBox::NoIcon
QMessageBox::Question
QMessageBox::Information
QMessageBox::Warning
QMessageBox::Critical
// 使用實例
msgBox.setIcon(QMessageBox::Information); // 設置圖標
// 設置自定義圖標
// msgBox.setIcon(QIcon(":/path/to/your/icon.png"));

修改圖標

消息框當前使用的圖標。請注意,通常很難繪制一個在所有GUI樣式中都合適的pixmap;您可能需要為每個平臺提供不同的pixmap。默認情況下,此屬性未定義。

QPixmap iconPixmap() const
void setIconPixmap(const QPixmap &pixmap)
    
// 使用示例
// 創(chuàng)建自定義圖標的 QPixmap 對象
QPixmap customIcon(":/path/to/your/icon.png"); // 請確保路徑正確并已包含在 Qt 資源文件中
// 設置自定義的圖標
msgBox.setIconPixmap(customIcon);

更完整描述信息性文本

信息的text可用于展開text() ,以向用戶提供更多信息。在Mac上,此文本以系統(tǒng)小字體顯示在text() 下方。在其他平臺上,它只是附加到現(xiàn)有文本中。默認情況下,此屬性包含空字符串。

QString informativeText() const
void setInformativeText(const QString &text)

標準按鈕集合

此屬性控制消息框使用的標準按鈕。默認情況下,此屬性不包含標準按鈕。

QMessageBox::StandardButtons standardButtons() const
void setStandardButtons(QMessageBox::StandardButtons buttons)

保存顯示的消息框文本

文本將被解釋為純文本或富文本,具體取決于文本格式設置(QMessageBox::textFormat)。默認設置為Qt::AutoText,即消息框將嘗試自動檢測文本的格式。此屬性的默認值為空字符串。

QString text() const
void setText(const QString &text)

添加復選框按鈕

// 添加復選框
QCheckBox *box = new QCheckBox("我同意條款和條件");
msgBox.setCheckBox(box);

消息框文本格式

setTextFormat:消息框使用的當前文本格式。有關可能選項的說明,請參見Qt::TextFormat枚舉。默認格式是Qt::AutoText。

  • PlainText: 使用純文本格式
  • RichText.:使用富文本格式(支持HTML)
  • AutoText:自動檢測文本
  • MarkdownText: MarkDown格式

同時支持MarkDown格式文本

Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat format)
// 參考示例
msgBox.setTextFormat(Qt::RichText);
msgBox.setText("<b>這是一個富文本消息框示例。</b><br>"
               "你可以使用 <i>HTML</i> 標簽來格式化文本。<br>"
               "<ul>"
               "<li>項目1</li>"
               "<li>項目2</li>"
               "<li>項目3</li>"
               "</ul>");Qt::TextFormat textFormat() const
void setTextFormat(Qt::TextFormat format)
// 參考示例
msgBox.setTextFormat(Qt::RichText);
msgBox.setText("<b>這是一個富文本消息框示例。</b><br>"
               "你可以使用 <i>HTML</i> 標簽來格式化文本。<br>"
               "<ul>"
               "<li>項目1</li>"
               "<li>項目2</li>"
               "<li>項目3</li>"
               "</ul>");

消息框文本交互

textInteractionFlags: 可以通過鼠標來進行選中,點擊等操作

flages: Qt::TextInteractionFlags:   一個Qt::TextInteractionFlags的組合,用于定義文本交互的行為。可以使用以下選項:

  • Qt::NoTextInteraction: 不允許任何文本交互。
  • Qt::TextSelectableByMouse: 允許用鼠標選擇文本。
  • Qt::TextSelectableByKeyboard: 允許用鍵盤選擇文本。
  • Qt::TextEditable: 允許編輯文本。
// 創(chuàng)建消息框
QMessageBox messageBox;
messageBox.setWindowTitle("信息");
messageBox.setText("這是一個示例消息框。\n"
                   "你可以選擇并復制這段文本。");

// 設置文本交互標志
messageBox.setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);

消息框模態(tài)

設置消息框的窗口模式,確定其在應用程序中的行為。窗口模式控制了消息框對其他窗口的交互影響。

  • NonModal :  窗口是非模態(tài)的,允許用戶與其他窗口進行交互
  • WindowModal: 窗口是窗口模態(tài)的,阻止用戶與其父窗口進行交互,直到關閉。
  • ApplicationModal:窗口是應用程序模態(tài)的,阻止用戶與應用程序的所有窗口進行交互,直到關閉。
// 創(chuàng)建消息框
QMessageBox messageBox;
messageBox.setWindowTitle("信息");
messageBox.setText("這是一個模態(tài)消息框。");

// 設置窗口模態(tài)性為應用程序模態(tài)
messageBox.setWindowModality(Qt::ApplicationModal);

// 顯示消息框
messageBox.exec();
責任編輯:趙寧寧 來源: 瓶子的跋涉
相關推薦

2021-08-04 09:32:05

Typescript 技巧Partial

2023-07-06 13:56:14

微軟Skype

2020-09-08 06:54:29

Java Gradle語言

2023-09-22 17:36:37

2021-01-28 22:31:33

分組密碼算法

2020-05-22 08:16:07

PONGPONXG-PON

2023-12-14 11:35:32

.NET泄露模式

2021-08-01 09:55:57

Netty時間輪中間件

2023-09-27 16:39:38

2018-06-07 13:17:12

契約測試單元測試API測試

2021-12-06 09:43:01

鏈表節(jié)點函數(shù)

2023-09-20 23:01:03

Twitter算法

2021-03-01 18:37:15

MySQL存儲數(shù)據

2021-07-16 11:48:26

模型 .NET微軟

2021-01-29 08:32:21

數(shù)據結構數(shù)組

2021-02-06 08:34:49

函數(shù)memoize文檔

2022-08-08 08:25:21

Javajar 文件

2022-11-01 08:46:20

責任鏈模式對象

2023-05-15 08:38:58

模板方法模式

2018-11-29 09:13:47

CPU中斷控制器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精选久久 | 国产高清免费视频 | 日韩视频国产 | 亚洲码欧美码一区二区三区 | 国产精品久久亚洲 | 天堂综合网久久 | 一区二区三区不卡视频 | 韩三级在线观看 | 亚洲一区二区三区免费视频 | 91精品国产91久久久久久吃药 | 亚洲精品一区二区在线观看 | 欧美国产精品一区二区三区 | 精品1区2区 | 久久精品日产第一区二区三区 | 日韩爱爱网 | 欧美日韩精品久久久免费观看 | 国产女人第一次做爰毛片 | 日韩毛片免费看 | 色狠狠桃花综合 | 欧美激情五月 | 一级爱爱片 | 亚洲国产偷 | 亚洲成人精品久久久 | 激情免费视频 | 精品成人av| 激情 一区 | 精品久久久久久久 | 国产精品免费av | 久久久久久久av麻豆果冻 | 中文字幕国产日韩 | 激情久久av一区av二区av三区 | 国产91丝袜在线18 | 欧美日韩精品一区 | 天堂一区二区三区 | 亚欧精品 | 蜜桃视频在线观看免费视频网站www | 99av成人精品国语自产拍 | 四虎在线观看 | 欧美黄色小视频 | 日韩福利 | 久久夜视频 |