2013-02-25 43 views
0

我有QMainWwindow,我已經確定了它的大小。QMainWindow中的分辨率處理

即,我已將窗口的最小和最大尺寸設置爲相同的數字。

任何人都可以告訴我,如果我在另一個屏幕上使用不同的分辨率,這是否會出現問題,如果是,我該如何處理它?

請注意,如果還有其他方法(可能更優雅)來設置QMainWindow的尺寸。

UPDATE:

我有一個QTableView以小工具QMainWindow,等等。當我展開主窗口時,tableview沒有,並且留下一個難看的空白區域,所以我確定了大小。

如果我要調整大小,我該如何擴展QTableView小工具以及QMainWindow。我有一箇中央控件,這個控件有一個垂直框佈局,並且在這個佈局中我添加了3個控件,一個是QGridlayout,一個水平線,另一個是QTableView。 QTableView本身不在佈局中。

我想象過,這將足以擴大表格,一旦QMainWindow擴大或縮小,但它不會發生。

我該如何去做,即擴大QTableView

謝謝。

+0

http://stackoverflow.com/questions/8594969/get-physical-screen-size-in-qt應該會幫助你 – vipw 2013-02-25 09:35:50

回答

1

如果將尺寸固定爲比屏幕大的尺寸,將會出現問題。根據屏幕尺寸縮放窗口大小的方法有多種。我建議使用QApplication::desktop(),這將返回桌面組件(您可能需要#include <QDesktopWidget>需要注意的是這個小部件實際上可以包括多個屏幕,所以如果你只是想將當前屏幕,你可以這樣做:

QRect screenGeometry = QApplication::desktop()->screenGeometry(); 

你可以選擇使用QDesktopWidget::availableGeometry()

值得一提的是,在Qt用戶中,我認爲對於固定大小的窗口有一般的不喜歡,大多數推薦充分利用Qt佈局系統,它爲調整窗口大小提供了很大的靈活性。我並不是說你一定要這樣做,因爲所有的項目都不一樣,但可能值得研究。

+0

感謝您的幫助。我一定會這樣檢查。我有一個'QMainWindow'和'QTableView'作爲一個小部件,等等。當我展開主窗口時,tableview沒有,並且留下一個難看的空白區域,所以我確定了大小。如果我要調整大小,請如何擴展'QTableView'小部件以及'QMainWindow'? – user1173240 2013-02-25 17:10:19

+0

您的QTableView是否在QLayout中? – Anthony 2013-02-26 00:48:16

+0

編號中央小工具,這個小工具有一個垂直框佈局,並且我已經添加了3個小工具,一個帶有'QGridlayout',一條水平線,另一個'QTableView'。 'QTableView'本身不在佈局中。我應該爲QTableView添加一個單獨的佈局嗎?我應該添加哪一個? – user1173240 2013-02-26 06:53:35