QMainWindow/QWidget设置全屏及其它模式

一.全屏

1.1全屏

setWindowFlags(Qt::Window);
showFullScreen();

1.2退出全屏

setWindowFlags(Qt::Widget);
showNormal();

二.软件打开时QMainWindow设置格式

若窗口打开时太小,则需设置最小宽高进行限制。

    showNormal();//正常 showMaximized(); showMinimized(); showFullScreen();
	setWindowFlags(Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint|Qt::WindowMinimizeButtonHint);
	//setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowSystemMenuHint);
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt中,如果你想要在全屏模式下打开一个子窗口,可以考虑使用QWidget的setWindowState()函数来设置子窗口的状态。具体操作如下: 首先,你需要在主窗口中创建一个信号,用于接收子窗口的请求,代码如下: ``` // MyMainWindow.h class MyMainWindow : public QMainWindow { Q_OBJECT public: MyMainWindow(QWidget *parent = nullptr); signals: void childWindowFullScreen(bool fullScreen); private: // ... }; ``` 然后,在子窗口中,你需要捕捉用户的打开子窗口的动作,并发送一个信号给主窗口,告诉它是否需要全屏显示,代码如下: ``` // MyChildWindow.h class MyChildWindow : public QDialog { Q_OBJECT public: MyChildWindow(QWidget *parent = nullptr); private slots: void onButtonClicked(); private: // ... }; // MyChildWindow.cpp MyChildWindow::MyChildWindow(QWidget *parent) : QDialog(parent) { // ... } void MyChildWindow::onButtonClicked() { emit childWindowFullScreen(true); } ``` 最后,在主窗口中,你需要接收子窗口的信号,并根据信号的参数来决定是否将子窗口设置全屏模式,代码如下: ``` // MyMainWindow.cpp MyMainWindow::MyMainWindow(QWidget *parent) : QMainWindow(parent) { // ... connect(this, &MyMainWindow::childWindowFullScreen, this, &MyMainWindow::onChildWindowFullScreen); } void MyMainWindow::onChildWindowFullScreen(bool fullScreen) { if (fullScreen) { setWindowState(windowState() | Qt::WindowFullScreen); } } ``` 通过这种方式,你就可以在全屏模式下打开一个子窗口,并且将它设置全屏模式了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值