双屏幕显示

界面程序,需要启动2个实例,分别放在两个屏幕上:
实现方式:

        QDesktopWidget *desktop = QApplication::desktop();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 对象,发现不能生效。

        QDesktopWidget *desktop = QApplication::desktop();QWidget *parent  = desktop -> screen(1);MainWindow* window = new MainWindow (parent);

最后发现,在使用Qt-4.8版本中,windows下该接口没有实际功能。

/*qdesktopwidget_win.cpp*/
QWidget *QDesktopWidget::screen(int /* screen */)
{// It seems that a Qt::WType_Desktop cannot be moved?return this;
}

双屏幕间拖动

在主窗口类下,
mousePressEvent中,保存窗口原来的窗口索引old_index ;
mouseReleaseEvent获取当前的索引,如果与old_index不同,发送信号,通知切换屏幕;

切换屏幕槽函数:

void MainWindow::slotSwitchScreen(const int nScreenNo)
{QRect oRect = QApplication::desktop()->screenGeometry(nScreenNo);this->move(oRect.topLeft());this->showFullScreen();
}

Qt窗口双屏幕显示及拖动相关推荐

  1. arm-linux 程序开发入门(QT窗口应用程序、编码、交叉编译、调试)(三机器和双机器搭建方法)(笔记)

    Linux及Arm-Linux程序开发笔记(零基础入门篇) 文章目录 前言 一.Arm-Linux程序开发平台简要介绍 1.1程序开发所需系统及开发语言 1.2系统平台搭建方式 二.Linux开发平台 ...

  2. 记录qt窗口在拖动过程中出现的问题

    问题描述: 在窗口拖动的过程中刚开始可以流畅的拖动窗口,但是一小会儿之后出现窗口拖不动的现象,或者按下鼠标在拖动区域内可以流畅拖动,但是按下鼠标朝一个方向拖动后,释放鼠标,按照此操作操作几次后,出现窗 ...

  3. Qt的双缓冲技术(double buffering)

    Qt的双缓冲技术(double buffering)是Qt绘画机制的一部分,是一种在Qt4中被全面采用的技术.其核心是:把一个窗口部件渲染到一个脱屏pixmap(off- screen pixmap) ...

  4. WINDOWS高级窗口的客户区域拖动技术及其应用

    WINDOWS高级窗口的客户区域拖动技术及其应用 来源:http://dev.21tx.com WINDOWS应用程序窗口一般包括两种:普通窗口和常居顶层的无标题条高级窗口.前者是由WINDOWS内部 ...

  5. Qt窗口、控件、文本等的一些常用操作

    窗口 1.固定窗口大小 this->setFixedSize(200,200); //窗口固定200x200 2.窗口标题 this->setWindowTitle("windo ...

  6. 【Qt】Qt窗口程序

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 程序设计 04. 程序执行 05. 预留 06. 附录 01. 概述 程序要实现的功能是:运行开始出现一个对话框,按下登录 ...

  7. 深度探索QT窗口系统——几何篇

    深度探索QT窗口系统--几何篇 窗口作为界面编程中最重要的部分,没有窗口就没有界面,是窗口让我们摆脱了DOS时代,按钮是一个窗口,文本框是一个窗口,标签页是一个窗口.一个窗口可以由多个窗口组成,每天我 ...

  8. 深度探索Qt窗口系统——布局篇

    深度探索Qt窗口系统--布局篇 虽然界面管理器可以完成窗口布局,但是对于动态布局的情况下,这种做法就无能为力了,现实中界面经常要支持国际化,对于同一内容用不同语言翻译可能长度不一,这就需要窗口动态布局 ...

  9. Qt窗口部件——QWidget

    QT窗口部件--QWidget 1. 窗口部件与子部件 2. 窗口类型 3. 窗口几何布局 4. qDebug调试程序 QWidget类是所有用户界面对象的基类,被称为基础窗口部件. QWidget继 ...

最新文章

  1. R语言ggplot2可视化设置不同的图像主题(theme):使用各种不同的主题(theme)可视化数据、单的黑白主题theme_bw主题(theme)、默认的主题(theme)可视化数据
  2. mysql优化问题?_MYSQL优化问题
  3. linux ip addr peer,Linux网络IP设置
  4. CV之FR(H+k机器学习):基于每人几张人脸图片训练H+k模型实现(国内外明星)新人脸图像的姓名预测(准确度高达100%)
  5. CenOS7中使用Docker安装配置Redis(数据持久化与数据卷映射)
  6. odoo中的filtered_domain
  7. Object类有哪些公用方法?
  8. 构建可扩展的思科互联网络---单区域OSPF
  9. Xcode不出错误提示,Indexing | Processing files
  10. 根据省份名称返回省份简称(js代码)
  11. [matlab也能用来机器学习!?]保存工具箱模型并使用模型预测结果
  12. 用 JavaScript 实现时间轴与动画 - 前端组件化
  13. Android 照相机
  14. 杀毒软件的一些杀毒原理
  15. JAVA 获取今天、昨天、上周等日期
  16. Bugku之网站被黑
  17. linux 学习5 文本编辑器 vim
  18. Mysql 锁机制详解
  19. 去水印小程序好做吗?赚钱吗?
  20. VLDB论文解读:阿里云超大规模实时分析型数据库AnalyticDB

热门文章

  1. openoffice的odt文件转化为word文件的问题
  2. GELOS观点——艺人们为何偷偷布局区块链?
  3. 2019linux考试题库,生信人的linux考试 2019-05-03
  4. ten、ten、ten
  5. 【华为OD机试真题】Excel单元格数值统计(javapython)100%通过率 超详细代码注释 代码深度解读
  6. Linux基本概念及基本命令
  7. POLYV上传客户端实现批量上传视频功能的介绍
  8. html九宫格圆角正方形卡片,网页九宫格布局:应用透明的外圆角
  9. Bean 销毁的方式与顺序
  10. 已尝试对扩展程序降级怎么解决_谈谈服务雪崩、降级、熔断