Qt下双屏的显示方法

想实现这样一种功能:主程序的主窗口在PC上显示,而其子dialog在另外的显示器上显示(做实验时方便监控且不会有多余的干扰)。


方法如下 :建立Qdesktopwidget对象
QDesktopWidget* desktop = Application::desktop();


获取当前显示器的个数


N = desktop->screenCount();


如果有两个显示,则N=2,qt默认的计算机主机的index = 0,外接显示器的index = 1;
QDialog 有个成员函数叫setGeometry,只需要将dialog对象的Geometry设置为index为1的显示器即可,默认为0.如果要显示的dialog的对象为mdlg,则
mdlg.setGeometry(desktop->screenGeometry(1));
mdlg.show();
QTQt)框架中,要实现在双屏幕同时显示不同的主界面,你可以采用QApplication或QWindow对象以及MdiArea功能。MdiArea是一个多文档界面(MDI)容器,它允许你在应用程序内部创建并管理多个独立的窗口(称为子窗口)。以下是基本步骤: 1. **设置环境**: 首先,确保你的项目启用了Qt的GUI支持,并且在构建时选择了包含MdiArea的支持。 2. **初始化`QMainWindow`或`QWidget`**: 创建两个`QMainWindow`实例,每个窗口对应一个屏幕。每个窗口都可以作为单独的应用主界面。 ```cpp QMainWindow window1, window2; ``` 3. **配置子窗口**: 对于每个窗口,添加MdiArea到其布局中,然后创建子窗口(`QDialog`、`QWidget`等)并添加到MdiArea中。 ```cpp QMdiArea *mdiArea = new QMdiArea(&window1); QWidget *childWin1 = createChildWindow(); mdiArea->addSubWindow(childWin1); // 对第二个窗口同样操作,替换为window2 QMdiArea *mdiArea2 = new QMdiArea(&window2); QWidget *childWin2 = createChildWindow(); mdiArea2->addSubWindow(childWin2); ``` 4. **显示和控制**: 最后,显示这两个窗口到指定屏幕上: ```cpp window1.show(); // 显示第一个窗口到屏幕1 window2.show(); // 显示第二个窗口到屏幕2 // 如果需要动态切换显示的窗口,可以在适当的时候调用show()和hide()方法。 ``` **注意**: - 确保已正确处理窗口之间的通信和事件传递。 - 根据实际需求调整窗口大小和位置。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值