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
- js實現window.open()彈出視窗和父視窗之間相互操作JS
- qt視窗居中顯示QT
- Qt中設定視窗居中顯示QT
- qt設定視窗在桌面居中顯示QT
- Qt視窗在螢幕上居中顯示QT
- javascript如何在彈出視窗給父視窗賦值JavaScript賦值
- Qt 設定視窗居中顯示QT
- Qt5:視窗居中顯示QT
- Qt視窗螢幕居中顯示QT
- QT介面顯示實時時間QT
- function模式設定ALV用彈出視窗顯示Function模式
- Qt之設定窗體居中顯示QT
- js實現在彈出視窗中重新整理主視窗JS
- Qt入門(14)——父視窗部件和子視窗部件QT
- Qt5.12視窗螢幕居中顯示QT
- 【QT】QT如何讓視窗放置在螢幕正中間QT
- Qt 把窗體顯示在螢幕的中心QT
- 彈出視窗
- 34.qt quick-Popup彈出視窗自定義QTUI
- Qt 時間顯示QT
- JavaScript視窗功能指南之建立彈出視窗 (轉)JavaScript
- window.open()實現彈出視窗居中顯示程式碼例項
- jQuery在子視窗如何操作父視窗元素jQuery
- Prism 彈出視窗
- 在Watir中整合AutoIt處理JavaScript彈出視窗的方法JavaScript
- VUE 實現 Studio 管理後臺(六):滑鼠懸停顯示彈出視窗Vue
- 彈出視窗程式碼
- javascript在iframe子元素中獲取父視窗元素JavaScript
- js如何在子視窗中關閉父視窗JS
- layer父介面呼叫子彈窗的方法和獲取子彈窗的元素值總結
- JS彈出視窗視窗的位置和大小JS
- Spring3MVC提交彈出視窗表單後,自動返回父視窗的列表頁面SpringMVC
- wps演示中在工作列中顯示所有視窗怎麼設定
- Qt程式設計技巧 窗體居中顯示QT程式設計
- 在框架頁中彈出新視窗提供列印功能框架