Qt視窗雙螢幕顯示及拖動

2021-09-12 19:49:14 字數 761 閱讀 3477

雙螢幕顯示

介面程式,需要啟動2個例項,分別放在兩個螢幕上:

實現方式:12

獲取當前環境的螢幕個數,如果為2個螢幕,返回值為2。

根據螢幕索引號獲取螢幕位置,如果為2個螢幕,預設計算機主螢幕index=0,外接顯示器index = 1:

int index=1;

qrect rect = desktop->screengeometry(index);12

在顯示視窗前,呼叫setgeometry。

mainwindow* window = new mainwindow (null);

window ->setgeometry(rect);

window ->show();

另外乙個例項採用相同的方式設定顯示的螢幕。

注:之前嘗試使用qwidget *screen(int screen = -1);直接獲取當前螢幕對於的qwidget 物件,發現不能生效。

最後發現,在使用qt-4.8版本中,windows下該介面沒有實際功能。

/*qdesktopwidget_win.cpp*/

qwidget *qdesktopwidget::screen(int /* screen */)

雙螢幕間拖動

在主視窗類下,

mousepressevent中,儲存視窗原來的視窗索引old_index ;

mousereleaseevent獲取當前的索引,如果與old_index不同,傳送訊號,通知切換螢幕;

切換螢幕槽函式:

Qt視窗雙螢幕顯示及拖動

介面程式,需要啟動2個例項,分別放在兩個螢幕上 實現方式 int screennum desktop numscreens 獲取當前環境的螢幕個數,如果為2個螢幕,返回值為2。根據螢幕索引號獲取螢幕位置,如果為2個螢幕,預設計算機主螢幕index 0,外接顯示器index 1 int index 1...

Qt視窗螢幕居中顯示

視窗的螢幕居中顯示問題,在各開發工具中原理相同,首先使用特定的方法得到顯示螢幕的寬度和高度,再根據視窗本身的寬度和高度計算出視窗的左上角座標位置.qt中可以採用兩種方法達到視窗的螢幕居中顯示 方法一 顯示前先計算出視窗顯示位子,並移到對應位子後再顯示視窗 在窗體類的構造方法中,如果使用 setfix...

Qt視窗螢幕居中顯示

視窗的螢幕居中顯示問題,在各開發工具中原理相同,首先使用特定的方法得到顯示螢幕的寬度和高度,再根據視窗本身的寬度和高度計算出視窗的左上角座標位置.qt中可以採用兩種方法達到視窗的螢幕居中顯示 方法一 顯示前先計算出視窗顯示位子,並移到對應位子後再顯示視窗 在窗體類的構造方法中,如果使用 setfix...