ARM开发板基于QT的双屏显示

ARM开发板基于QT的双屏显示

基于QT的双屏显示,因为公司需要做消费机需要双屏显示,需要用到QT双屏显示,现做一下总结。

如何创建两个界面

首先我是习惯使用ui界面,所以首先创建一个主界面。作为主屏,然后再添加文件–》QT–》设计师界面–》mainwindow,取个名字windows2。

在main.cpp中新建桌面
在这里插入代码片 代码:

  QDesktopWidget * desktop = QApplication::desktop();
    int screen_count = desktop->screenCount();
    qDebug("primary:%d virtual:%s", desktop->primaryScreen(), desktop->isVirtualDesktop()?"true":"false");
    char warning[128], *idx=warning;
    for(int i=0; i<screen_count ;i++ ){
        sprintf(idx, "screen%d w[%d], h[%d] ",i, desktop->screenGeometry(i).width(), desktop->screenGeometry(i).height());
        idx += strlen(idx);
    }
    //sprintf(idx, "total width[%d] , total height[%d] \n", desktop->width(), desktop->height() );
    //QMessageBox::warning(NULL, "screen", warning, QMessageBox::Ok); MainWindow2 w2;
    w2.setWindowTitle("screen 1");
    w2.setGeometry(desktop->screenGeometry(1));
    w2.show();
    MainWindow wnd;
    wnd.setWindowTitle("screen0 ");
    wnd.setGeometry(desktop->screenGeometry(0));
    wnd.show();

好像要先写setGeometry(desktop->screenGeometry(1));
其中1,和0分别代表主屏和副屏幕。如果需要更多屏幕,以此类推再新建ui界面,和 MainWindow wnd;类。但一般底层硬件驱动最多只支持双屏吧。

另外注意,这个先写1和先写0;顺序也会在ARM板子上有影响。一般是按照1,0;如上代码所示,不行你也可以反过来试一下。

其中有些屏幕是自适应的,有些需要调节分辨率。
改一下高宽就行。

win2.setGeometry(0,0,desktop->screenGeometry(0).width(), desktop->screenGeometry(0).height()); 

下一讲,讲一下这两个界面的通讯。
随便举个例子。
链接:https://pan.baidu.com/s/1G3d7ZJZPAgKWoQ9L1VraWg
提取码:yiqi
复制这段内容后打开百度网盘手机App,操作更方便哦。

觉得有用的话帮忙点个赞吆。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值