QWidget居中顯示
轉載請說明出處, 並附上原文連結http://blog.csdn.net/qq907482638/article/details/72189014.
問題描述
在Qt學習過程中,在讓QDialog居中顯示的時候, 出現了一點問題. 然而百度的都是大同小異. 都不行.不知道為什麼, 難道是我的搜尋姿勢不對. 於是自己實現了居中顯示的函式.
須知
- 以下函式只要繼承QWidget都可以使用.
- 例如 QDialog, QPushButton( -v- 一個居中的”引爆按鈕”)
- 關於座標問題: qt視窗座標原點是在”左上角”的.
如圖, (x2, y2)是我視窗的解析度的一半
無論目前我的視窗在什麼位置,我只要把視窗原點設定為(x1, y1)就行了.
所以目前我要獲得(x1, y1)的值, 那就很簡單啦.
通過
//app就是當前要居中的視窗
appWindowWidth = app->geometry()->width();
appWindowHeight = app->geometry()->height();
x2 = 螢幕寬度 / 2
y2 = 螢幕高度 / 2
最後:
x1 = x2 - appWindowWidth / 2
y1 = y2 -appWindowHeight / 2
然後把視窗中心設定為(x1, y1)就行了.
實現細節
void LoginDialog::setCentralDisplay()
{
QDesktopWidget *screenResolution = QApplication::desktop();
int appWindowWidth = this->geometry().width();
int appWindowHeight = this->geometry().height();
int center_y = screenResolution->height()/2 - appWindowHeight/2;
int center_x = screenResolution->width()/2 - appWindowWidth/2;
//此處的Width,Height不要被修改了(例如除以2了)
//不然看起來不是居中的
setGeometry(center_x, center_y,
appWindowWidth,appWindowHeight);
//以下用於除錯
qDebug()<<"origin_width"<<screenResolution->width();
qDebug()<<"origin_height"<<screenResolution->height();
qDebug()<<"window_width"<<appWindowWidth;
qDebug()<<"window_height"<<appWindowHeight;
qDebug()<<"center"<<center_x;
qDebug()<<"center"<<center_y;
}
相關文章
- QT居中螢幕顯示QT
- QT tableWidget 內容居中顯示QT
- Qt 設定視窗居中顯示QT
- Qt 讓彈出的視窗居中顯示QT
- Qt5.12視窗螢幕居中顯示QT
- win10 工作列居中顯示如何設定_win10怎麼讓工作列圖示居中Win10
- Qt QWidget Must construct a QApplication before a QWidgetQTStructAPP
- win10怎麼把工作列圖示居中_win10電腦工作列圖示居中顯示設定方法Win10
- CSS3 實現16:9大屏居中顯示CSSS3
- 動態的新增ImageView到LinearLayout中並居中顯示View
- Flex佈局-垂直居中並換行顯示內容Flex
- 工作列“居中”顯示!這個美觀又實用的小技巧
- 直播平臺原始碼,TabLayout標籤較少時,如何居中顯示原始碼TabLayout
- Vue專案中使用Html+Css使div在頁面中居中顯示(水平+垂直)VueHTMLCSS
- CAD中能顯示列印不顯示
- 獨立顯示卡與整合顯示卡的區別 獨立顯示卡與整合顯示卡哪個更好
- Mac顯示/不顯示隱藏檔案教程!Mac
- 獨立顯示卡與整合顯示卡的區別 獨立顯示卡與整合顯示卡優缺點介紹
- 淺談居中問題(水平居中、垂直居中、水平垂直居中)
- Python Flask+Pandas讀取excel顯示到html網頁: CSS控制表格樣式、表頭文字居中PythonFlaskExcelHTML網頁CSS
- css使文字顯示兩行後顯示省略號CSS
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- Activity背景顯示app圖示APP
- Qt小知識4.QWindow和QWidgetQT
- gtx和rtx顯示卡的區別 gtx顯示卡和rtx顯示卡哪個好
- tab下拉顯示
- fiddler顯示埠
- tensorboard顯示不全ORB
- opencv顯示中文OpenCV
- 文字超出顯示....
- Application顯示DialogAPP
- matplotlib 顯示中文
- 顯示卡位寬
- fyne :顯示中文
- 水平居中、垂直居中、水平垂直居中、浮動居中、絕對定位居中…….幫你搞定
- 專業顯示卡和遊戲顯示卡的區別詳解 專業顯示卡和遊戲顯示卡哪個好?遊戲
- 顯示卡效能天梯圖2022最新 桌面顯示卡筆記本顯示卡效能天梯圖最新筆記
- 水平居中和垂直居中
- Omdia:近眼顯示開啟顯示發展新未來