介面程式,需要啟動2個例項,分別放在兩個螢幕上:
實現方式:
int screennum = desktop->numscreens();
獲取當前環境的螢幕個數,如果為2個螢幕,返回值為2。
根據螢幕索引號獲取螢幕位置,如果為2個螢幕,預設計算機主螢幕index=0,外接顯示器index = 1:
int
index=1;
qrect rect = desktop->screengeometry(index);
在顯示視窗前,呼叫setgeometry。
mainwindow* window = new mainwindow (null);
window
->setgeometry(rect);
window
->show();
另外乙個例項採用相同的方式設定顯示的螢幕。
注: 之前嘗試使用qwidget *screen(int screen = -1);直接獲取當前螢幕對於的qwidget 物件,發現不能生效。
qwidget *
parent
= desktop -> screen(1);
mainwindow* window =
new mainwindow (parent);
最後發現,在使用qt-4.8版本中,windows下該介面沒有實際功能。
/*qdesktopwidget_win.cpp*/
qwidget *qdesktopwidget::screen(int
/* screen */)
在主視窗類下,
mousepressevent中,儲存視窗原來的視窗索引old_index ;
mousereleaseevent獲取當前的索引,如果與old_index不同,傳送訊號,通知切換螢幕;
切換螢幕槽函式:
void
mainwindow::slotswitchscreen(const int nscreenno)
Qt視窗雙螢幕顯示及拖動
雙螢幕顯示 介面程式,需要啟動2個例項,分別放在兩個螢幕上 實現方式 12 獲取當前環境的螢幕個數,如果為2個螢幕,返回值為2。根據螢幕索引號獲取螢幕位置,如果為2個螢幕,預設計算機主螢幕index 0,外接顯示器index 1 int index 1 qrect rect desktop scre...
Qt視窗螢幕居中顯示
視窗的螢幕居中顯示問題,在各開發工具中原理相同,首先使用特定的方法得到顯示螢幕的寬度和高度,再根據視窗本身的寬度和高度計算出視窗的左上角座標位置.qt中可以採用兩種方法達到視窗的螢幕居中顯示 方法一 顯示前先計算出視窗顯示位子,並移到對應位子後再顯示視窗 在窗體類的構造方法中,如果使用 setfix...
Qt視窗螢幕居中顯示
視窗的螢幕居中顯示問題,在各開發工具中原理相同,首先使用特定的方法得到顯示螢幕的寬度和高度,再根據視窗本身的寬度和高度計算出視窗的左上角座標位置.qt中可以採用兩種方法達到視窗的螢幕居中顯示 方法一 顯示前先計算出視窗顯示位子,並移到對應位子後再顯示視窗 在窗體類的構造方法中,如果使用 setfix...