Qt之彈出介面顯示在父視窗中間
彈出介面顯示在主視窗中間博主暫時只知道兩種方式
第一種:
建立新的對話方塊時把父視窗的指標傳遞給對話方塊
QNewDiglog *dlg = new QNewDiglog(parent);
dlg->show();
彈出的對話方塊就會自動顯示在父視窗的中間
第二種:
建立新對話方塊時獲取父視窗的指標,再獲取父視窗原點座標,計算顯示的位置
QWidget *widget = nullptr;
//獲取程式所有的widget
QWidgetList widgetList = QApplication::allWidgets();
//獲取父視窗指標 此處獲取objectName 可根據需求自行判斷
for(int i=0; i<widgetList.length(); i++){
if(widgetList.at(i)->objectName() == "MainWindow"){
widget = widgetList.at(i);
}
}
if(widget){
//獲取父視窗geometry
QRect rect = widget->geometry();
//計算顯示原點
int x = rect.x() + rect.width()/2 - this->width() /2;
int y = rect.y() + rect.height()/2 - this->height();
this->move(x, y);
}
以上方法適合不在父類建立對話方塊,獲取不了父視窗指標時,手動獲取父視窗指標。
寫得比較簡單有不懂的可以發郵箱linkang1024@163.com 一起交流。
相關文章
- qt介面佈局之使視窗顯示出現在正中間位置QT
- Qt 讓彈出的視窗居中顯示QT
- Qt 設定視窗居中顯示QT
- Qt5.12視窗螢幕居中顯示QT
- 【QT】QT如何讓視窗放置在螢幕正中間QT
- Qt 把窗體顯示在螢幕的中心QT
- 彈出視窗
- 34.qt quick-Popup彈出視窗自定義QTUI
- Prism 彈出視窗
- 彈出視窗messagebox
- VUE 實現 Studio 管理後臺(六):滑鼠懸停顯示彈出視窗Vue
- layer父介面呼叫子彈窗的方法和獲取子彈窗的元素值總結
- fastadmin 彈出視窗的功能AST
- 從底部彈出Dialog視窗
- QT顯示當前日期時間QT
- Qt設計:時間顯示(QTimer)QT
- WPF中實現彈出進度條視窗
- 彈窗24小時顯示一次
- 視訊直播原始碼,提醒類彈窗,到時間後自動彈出原始碼
- SAP Spartacus B2B 頁面資訊提示圖示的彈出視窗顯示實現邏輯
- QT學習 實時顯示時間QT
- IDEA整個視窗不顯示Idea
- QT視窗類QT
- 關於父視窗獲取跨域iframe子視窗中的元素跨域
- 在IDEA中maven工程中父工程不顯示的解決辦法IdeaMaven
- Excel2007工作表如何分視窗顯示?Excel2007工作表分視窗顯示的方法Excel
- QT之控制元件疊加顯示QT控制元件
- Qt中在按鈕上顯示字元'&'QT字元
- 記一個angular在路由配置中管理 Angular Material Dialog(實現動態元件的彈窗顯示)Angular路由元件
- MFC CDialogEx.DoModal 彈出Dialog顯示圖示
- dotnet X11 視窗 Destroy 之後是否可以再次 Map 顯示
- GitHub#C#:在終端裡面顯示一個UI視窗(TerminalGfx)GithubC#UI
- Qt TCP (小型聊天視窗)QTTCP
- Winform在主窗體載入前彈出登入窗體ORM
- 【Qt】UI顯示中文QTUI
- qt中實現實時的顯示當前時刻的時間QT
- Go Qt5 建立空白視窗、視窗居中及關閉視窗事件GoQT事件
- 將MYSQL資料顯示在QT的tablewidget中/將QT中的資料儲存到MYSQL資料庫中MySqlQT資料庫