2012-06-06 35 views
1

我有這樣的代碼:QT:QInputDialog :: gettext的不工作

bool ok;     
QString text = QInputDialog::getText(this, tr("Set Text"), tr("Text:"), QLineEdit::Normal, this->text(), &ok); 

if (ok && !text.isEmpty()) 
{ 
    this->setText(text); 
    aggiorna_text_t(); 
} 

但結果是,窗口和按鈕是全黑,只有文字是可見的,當我改變文本窗口不重畫它,所以文本被覆蓋。

出了什麼問題?

+0

什麼平臺?您是使用樣式表還是調色板修改? – cmannett85

+0

我不認爲這可以在沒有關於平臺和項目其他部分的更多細節的情況下得到回答。你有一個最小的例子,這個代碼不*工作? – Gnosophilon

+0

我正在使用其他qt對象的窗口和樣式表修改。這是一個QLabel,當用鼠標安裝程序點擊菜單時,我可以設置文本。 – user1439500

回答

0

要解決它,我加入這一行:

bool ok;    

**this->setStyleSheet("QMenu {background-color: rgba(255,255,255,255);}");** 
QString text = QInputDialog::getText(this, tr("Set Text"), tr("Text:"), QLineEdit::Normal, this->text(), &ok); 

if (ok && !text.isEmpty()) 
{ 
    this->setText(text); 
    aggiorna_text_t(); 
}