2012-02-13 106 views
1

我試圖讓我們的彈出消息框有更適當的文本,而不是通用的「確定」,「取消」等。但是,我沒有看到一個簡單的方法來獲得按鈕上的標準圖標。QMessageBox addButton()使用標準圖標/顯示

例如,通常QMessageBox::Save按鈕帶有一個圖標。相反,我希望文本是「保存部分」,但由於這仍然是一個保存操作,所以擁有相同的圖標會更好。

我很樂意將此與角色綁定,因爲我所有的自定義測試按鈕都映射到其中一個標準角色。有沒有簡單的方法將標準圖標放到自定義按鈕上?

回答

4

如果你只是想改變對StandardButton文本,但保持標準的圖標,你可以做到以下幾點:

QMessageBox *box = new QMessageBox("title", "text", QMessageBox::NoIcon, QMessageBox::Save, QMessageBox::Close, QMessageBox::Open); 
box->button(QMessageBox::Save)->setText("Save part"); 
box->show(); 

這將導致如下: enter image description here

而且按鈕將保持相同的作用