2012-06-06 30 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(); 
}