2017-07-19 83 views
1

我必須重新佈局非常複雜的UI,因爲我們發現它在高dpi系統上基本上不可用。這是因爲我們在幾乎所有東西上都使用了固定大小,以便在Qt Creator中獲得我們想要的佈局設計。用於hi-dpi和低dpi系統的Qt Creator行編輯和按鈕大小

我的問題是,我如何調整對象(線條編輯,按鈕,旋轉盒等等等等),使它們保持相對尺寸以保持所需的佈局?

例如:

Example Layout with fixed pixel sized objects

這renderd正是因爲它看起來1080p的屏幕上,但它是在Windows平板電腦具有2736 X 1824的分辨率完全不可讀。

Rendered Layout on Hi-DPI

那麼,如何解決這一問題?如果我刪除了絕對像素大小值,則所有這些按鈕和線條編輯都會水平地失控並幾乎會縮小小部件的寬度。這不僅對於它們將包含的數據完全沒有必要,而且會毀掉用戶界面。

我試過佈局。佈局不會阻止這些對象擴展。似乎有一些隱藏的最小尺寸對於我的目的來說過於龐大。

我查看了我可以找到的Qt Creator資源。背後支持hi-dpi的很多細節,沒有關於如何設計這一點,以實現跨不同分辨率設備的一致外觀。

+0

您使用了什麼樣式?使用'qApp-> setStyle(「fusion」)進行測試;' – eyllanesc

+0

給出這些都在Qt Creator中,我在哪裏放置這些代碼?這會給我什麼? – granitdev

回答

0

什麼版本的Qt?

Qt 5.6引入高Dpi支持並通過系統比例因子調整所有視圖。看看HDPI Displys Documentation。基本上,在設置您的應用程序以啓用自動比例之前,將此線添加到您的主要功能:

QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); 
QGuiApplication app(argc, argv); 
...... 
+0

我正在使用Qt 5.4,不幸的是升級決定超出了我的薪酬等級。如果我們升級,謝謝,我一定會使用它。 – granitdev