2012-11-20 56 views
0

在我的項目中很多時候我正在使用QMessageBox。這是警告/信息。對於例如如果我有一些驗證,那麼當時我正在使用一些QMessageBox ::信息(...),或者如果我想限制用戶不移出特定的頁面,那麼我使用QMessageBox :: critical(...)。 我知道「如何將qDebug輸出重定向到文件」。我也想爲QMessagebox做同樣的事情。這樣我將在我的項目文件夾中保留一個文本文件。每當應用程序運行,如果用戶通過QMessagebox遇到某些消息,那麼應該將其重定向到該文本文件。因此,在關閉應用程序後,無論用戶在運行應用程序時遇到了什麼,它都有一小段消息摘錄。如何將QMessageBox文本重定向到文本文件

請幫我寫這段代碼..

Thankxx提前。

回答

1

您可以聲明自己的靜態信息,警告和關鍵函數,這些函數將顯示原始QMessageBox並寫入某些內容以進行記錄。

static StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton); 

StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons, StandardButton defaultButton) 
{ 
    qDebug() << "writing to log"; 
    return QMessageBox::information (parent, title, text, buttons, defaultButton) 
} 
+0

是否有類似qInstallMsgHandler(..)? 由於很多次我在項目中使用了這個QMessagebox(),我必須在我的項目中做很多修改。 你可以請一些替代解決方案.. Thankx很多爲您的答覆... – Kenta

+0

漢克是正確的,他有答案。 通過使用QtCreator'重構'中的構建,你可以很容易地改變你所有的QMessageBox'es - 右鍵單擊​​單詞(變量,類型,...)並選擇'重構',然後選擇你想要的。 至於我,它是非常有用的功能'ctrl + shift + R' - 重命名光標下的符號。嘗試一下。 – troyane

相關問題