qt 窗口无法全屏

    今天终于将QT窗口全屏的事搞定。思路是这样的:

  • 将要全屏的QT主窗口中的子窗口调用函数setWindowFlags(Qt::Dialog),然后调用showFullScreen()将子窗口全屏显示,也就是先将子窗口设为顶级窗口,然后全屏显示,因为showFullScreen()只对顶级窗口有效;
  • 如要还原为普通窗口,调用setWindowFlags(Qt::subWindow)将子窗口设为非顶级窗口,再调用showNormal()还原子窗口正常显示。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt中,要实现全屏窗口的左右切换,可以使用QStackedWidget和QHBoxLayout来实现。 首先,在Qt窗口界面文件中,添加一个QStackedWidget控件,并设置其布局为水平布局(QHBoxLayout)。然后,向QStackedWidget控件中添加需要切换的窗口界面,可以使用QWidget或者其他自定义的窗口类。 接下来,在控制程序的代码中,我们可以使用QPushButton或者其他按钮控件来触发切换操作。在按钮的点击事件中,我们可以通过设置QStackedWidget中当前显示窗口的索引来切换界面。 具体的实现步骤如下: 1. 在窗口界面文件中,添加一个QStackedWidget控件,并设置为水平布局。 ```cpp QHBoxLayout *layout = new QHBoxLayout(this); QStackedWidget *stackedWidget = new QStackedWidget(this); layout->addWidget(stackedWidget); ``` 2. 向QStackedWidget控件中添加需要切换的窗口界面。 ```cpp QWidget *window1 = new QWidget; QWidget *window2 = new QWidget; stackedWidget->addWidget(window1); stackedWidget->addWidget(window2); ``` 3. 在控制程序的代码中,设置按钮的点击事件,通过设置QStackedWidget中当前显示窗口的索引来实现切换操作。 ```cpp QPushButton *leftButton = new QPushButton("左切换"); QPushButton *rightButton = new QPushButton("右切换"); connect(leftButton, &QPushButton::clicked, [=]() { int currentIndex = stackedWidget->currentIndex(); if (currentIndex == 0) { stackedWidget->setCurrentIndex(stackedWidget->count() - 1); // 切换到最后一个窗口 } else { stackedWidget->setCurrentIndex(currentIndex - 1); // 切换到前一个窗口 } }); connect(rightButton, &QPushButton::clicked, [=]() { int currentIndex = stackedWidget->currentIndex(); if (currentIndex == stackedWidget->count() - 1) { stackedWidget->setCurrentIndex(0); // 切换到第一个窗口 } else { stackedWidget->setCurrentIndex(currentIndex + 1); // 切换到下一个窗口 } }); ``` 这样,当点击左切换按钮时,会切换到前一个窗口;当点击右切换按钮时,会切换到下一个窗口。这样就实现了全屏窗口的左右切换功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值