概述
在工作中遇到多个屏幕显示运行系统时,将当前应用程序通过配置文件指定到某一个屏幕中显示。
配置文件放置到bin/config下,实现代码如下:
//获取当前软件所在屏幕的序号
int currentScreenIndex = 0;
QJsonObject json;
QString strPath = QCoreApplication::applicationDirPath();
QDir dir(strPath);
dir.cd("config/");
QString _strPath = dir.absolutePath() + "/screen.json";
QFile _file(_strPath);
if (_file.open(QIODevice::ReadWrite))
{
QByteArray _content = _file.readAll();
QJsonParseError error;
QJsonDocument _doc = QJsonDocument::fromJson(_content, &error);
if (!_doc.isEmpty())
{
json = _doc.object();
currentScreenIndex = json["screenIndex"].toInt();
//如果设置的index值超过屏幕数量,设为0
if (currentScreenIndex >= QGuiApplication::screens().count())
currentScreenIndex = 0;
}
}
QDesktopWidget* desktop = QApplication::desktop();
desktop->screenGeometry(currentScreenIndex);
int current_screen = desktop->screenNumber(&w);
QRect _rect = desktop->screenGeometry(currentScreenIndex);
w.setWindowState(Qt::WindowMaximized); //将当前程序全屏显示
w.setGeometry((_rect.width() - w.width()) / 2 + _rect.x(), (_rect.height() - w.height()) / 2, w.width(), w.height());
screen.json的文件格式比较简单,如下:
{
"screenIndex":0
}
好了,代码就是这么简单。但是里面有很多知识点需要留心记忆。
最后
以上就是风趣樱桃为你收集整理的Qt实现在多个屏幕下指定一个显示的全部内容,希望文章能够帮你解决Qt实现在多个屏幕下指定一个显示所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复