簡體   English   中英

QInputDialog在Android應用程序中不顯示標題和邊框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM