无法更新 qt 对话框中的按钮
Unable to update the buttons in qt dialogue box
我正在尝试更改qt对话框的语言以及2个按钮"确定"和"关闭",但我无法这样做,我只能更改短信的语言。
PFB 代码 :
void updateDiagWidgets() {
QString qstr = QString::fromStdString(MY_String);
QString qyes = QString::fromStdString(MY_String_YES);
QString qno = QString::fromStdString(MY_String_NO);
if(gDiagBox != NULL) {
gDiagBox->setText(qstr);
replaint();
QPushButton* yesBtn = gDiagBox->addButton(qyes, QMessageBox::YesRole);
gDiagBox->addButton(qno, QMessageBox::NoRole);
gDiagBox->setDefaultButton(yesBtn);
}
else {
QMessageBox *msgBox = new QMessageBox(browser);
if(msgBox != NULL) {
DEBUG("updateDiagWidgets Message string is %sn",MY_String.c_str());
DEBUG("updateDiagWidgets YES string is %sn",MY_String_YES.c_str());
DEBUG("updateDiagWidgets NO string is %sn",MY_String_NO.c_str());
msgBox->setWindowTitle("");
msgBox->setText(qstr);
msgBox->setParent(0);
msgBox->setWindowFlags(Qt::Window);
msgBox->setWindowFlags(Qt::BypassWindowManagerHint);
QPushButton* yesBtn = msgBox->addButton(qyes, QMessageBox::YesRole);
msgBox->addButton(qno, QMessageBox::NoRole);
msgBox->setDefaultButton(yesBtn);
gDiagBox = msgBox;
DEBUG("updateDiagWidgets done msgBox updation");
}
else {
DEBUG("updateDiagWidgets Error allocating memory for dialog box");
}
}
}
我可以在上面的代码中单独更改 qstr 的语言,但我无法更改 qyes 和 qno 的语言。请帮我解决这个问题。
提前谢谢。
你在应用程序中使用了tr()吗? http://doc.qt.io/qt-5/i18n-source-translation.html
相关文章:
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- "最小化"按钮不会出现在 MFC 对话框中
- 如何在 VC6 中的对话框中将图标设置为按钮
- 在主窗口之前显示登录对话框并隐藏主窗口按钮
- 如何获取资源文件中对话框的按钮控件的大小和位置
- 无法更新 qt 对话框中的按钮
- 创建关闭GTK+对话框的取消按钮的正确方法是什么
- 嗨,我正在尝试编码一个允许用户在Visual C 中登录的按钮,程序正在运行,但表单对话框未显示
- 如何使 UI 对象仅在单击按钮后显示在对话框中
- c++ qt 主窗口设置图像后的对话框"确定"按钮
- 调整对话框大小时移动对话框上的按钮
- 单击CEdit和CSpin按钮会导致在MFC对话框中丢失捕获
- 带有下一步/后退按钮的Qt对话框/小部件
- 在对话框中禁用按钮控件需要一些时间
- 单击对话框关闭按钮时,正确中止线程
- CD对话框中的Apply按钮
- MS Visual C++通过单击按钮启动函数而不阻塞对话框
- 如何更改MFC对话框上按钮的标题
- 禁用对话框“确定”按钮MFC
- 如何在Qt对话框中获得最大化按钮和"这是什么"按钮?