乙個支援多屏顯示的程式

2021-07-16 18:24:05 字數 2113 閱讀 3916

最近要用到多屏顯示。

多屏顯示的原理其實很好理解,就拿橫向擴充套件來說:

計算機把桌面的 寬度擴充套件成了 w1(螢幕1的寬度) + w2(螢幕2的寬度) 。

當乙個視窗的起始橫座標 > w1,則 他就被顯示在第二個螢幕上了。

qt的說明文件中用一張圖闡述了這個情況:

返回的 

qdesktopwidget

儲存著當前桌面的資訊。

注意 ,這個函式必須在建立了 

具體原因,要問qt。

這個desktop有幾個很有用的函式,用來獲取當前的螢幕狀態和解析度
1) int desktop->primaryscreen()
獲取主螢幕的索引序號,(windows開始選單所在的螢幕為主螢幕), 每個副螢幕序號+1
2) int  desktop->screencount()
獲取當前螢幕個數
3) 

qrect

desktop->screengeometry(int screen_index)

根據當前的螢幕序號獲取螢幕寬高等屬性
4) int desktop->width()
獲取虛擬螢幕全寬, 注意這個比較猛,是獲取的總寬度,對於橫向擴充套件屏來說,也就是 螢幕1+ 螢幕2 + ... 的寬度
5) int desktop->height()
獲取虛擬螢幕全高
下面的這個程式就可以測試多屏(只測了橫屏,沒測試縱屏): 根據當前螢幕數量n,生成n個視窗,每個視窗都佔據了乙個螢幕
#include

"mainwindow.h"

#include

#include

#include

#include

typedef

structscreen;

screen

g_screens[10];

int

main(int

argc,

char

*argv)

sprintf(idx,

"total

width[%d]

,total

height[%d]

\n",desktop->width(),desktop->height());

qmessagebox::warning(null,

"screen",warning,

qmessagebox::ok);

mainwindow

wnd[5];

for(int

i=0;i

return

}

Winform程式實現多顯示屏 多螢幕顯示的方法

winform視窗實現多顯示屏顯示的2種方法,本文直接給出了實現 並對其中的一些重要引數做了解釋,需要的朋友可以參考下。一台主機連線了2臺顯示器 2個顯示卡 要求乙個程式的兩個窗體在不同的顯示器上顯示 顯示器1 顯示from1,顯示器2 顯示from2。及說明如下 form1不需要變更 from2新...

乙個顯示選單的程式

建立這個程式的步驟 1 在命令列提示符後鍵入vi mymenu 這個命令啟動vi,並將程式命名為mymenu。2 在空白也出現後按i。這個命令切換到插入模式下工作。3 在空白頁上輸入如下的linux bin bash clear echo echo the telephone book echo e...

乙個顯示彈幕的小程式

效果如圖,原始碼位址 視窗樣式指定ws ex topmost實現置頂 對於一些全屏程式不行,但是對於ppt夠用了 指定ws ex transparent實現滑鼠穿透此視窗 指定ws ex layered並使用updatelayeredwindow繪製視窗實現視窗透明 以上樣式指定都在對話方塊資源編輯...