我的QMainWindow
包含QGraphicsView
,它應該具有最小的寬度和高度。所以,我用下面的代碼在QMainWindow
構造:在屏幕中心設置QMainWindow
ui.graphicsView->setMinimumHeight(VIEWWIDTH);
ui.graphicsView->setMinimumWidth(VIEWWIDTH);
然後我用下面的代碼在屏幕的中心設置QMainWindow
:
QRect available_geom = QDesktopWidget().availableGeometry();
QRect current_geom = frameGeometry();
setGeometry(available_geom.width()/2 - current_geom.width()/2,
available_geom.height()/2 - current_geom.height()/2,
current_geom.width(),
current_geom.height());
但它不是設定在屏幕的中心。如果我從QGraphicsView
中省略setMinimumHeight()
和setMinimumWidth()
,則主窗口設置在屏幕的中心。如何克服這個問題?我正在使用Qt 4.5.2。
謝謝。
通常不鼓勵手動定位窗口。窗口管理員的工作是定位窗口,如果您的應用程序手動將其自身居中,那將導致不一致。例如,在我的雙頭系統中,您的代碼將放在窗口的哪個位置?除非你有很好的理由,否則不要對窗口進行微觀管理。 – 2009-09-08 18:45:48
我見過從屏幕中間開始的軟件。看上去不錯。 – Donotalo 2009-09-10 06:41:28