[英]QInputDialog doesn't show title and border in android application
我编写了一个简单的slot函数来显示输入对话框。 但它在Android模拟器中显示如下。 代码是:
void PriceChecker::showSettings()
{
QInputDialog UrlDialog;
QString baseUrl = UrlDialog.getText(m_pMainWidget, "Settings", "Enter BaseURL");
}
有人可以告诉为什么会这样吗?
它针对所有正在显示的基于QDialog的小部件执行此操作。 他们从来没有边框或标题栏...除了QMessageBox。
QMessageBox
>显示标题和边框 QInputDialog
>显示没有标题和边框 QDialog
>显示没有标题和边框 我通过在QApplication::notify
捕获QEvent::ShowToParent
事件并使对话框即将显示的大小适合主框架大小来解决该问题,然后覆盖整个屏幕。 至少控件不与主机控件混在一起。...
注意:我提交了这个Qtbug: https ://bugreports.qt-project.org/browse/QTBUG-39623
...或者这是我的宿主应用程序的自定义样式的问题(因为我在做插件),或者在Windows上是相同的;
无论如何,可以通过显式设置以下窗口标志来轻松解决:
QInputDialog d;
Qt::WindowFlags f = d.windowFlags();
f |= Qt::Dialog;
d.setWindowFlags(f);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.