qt creator在原窗口基础上新建窗口,inpaint例子的修改

本文介绍了如何在Qt Creator中基于原窗口新建窗口,并详细阐述了如何在新窗口中调用并使用原窗口的变量。通过添加SLOTS和公共函数,实现了窗口间的交互和数据传递,同时解决了在SLOT执行期间无法触发其他SIGNAL的问题。

1. 在原窗口基础上新建窗口

在项目名称上右击“add new” -> "qt designer form class" -> 任选一种窗口,确定

在mainwindow.h内添加上面新建窗口的对象作为新的private,添加新的SLOT为按某个按钮新建窗口

在新添加的SLOT内 初始化新窗口,并显示,即可

private slots:
 
 
 
    void on_commandLinkButton_2_clicked();
 
private:
    Form* secForm;

void MainWindow::on_commandLinkButton_2_clicked()
{
 
 
    secForm=new Form();
 
    secForm->show();
}
 

新窗口上想要显示的组件,按照以前在mainwindow上创建的方式创建即可

2. 在新建窗口中调用原窗口的变量

为新建窗口创建一个public函数,在原窗口中初始化新窗口对象之后,用该对象调用public函数,以原窗口变量为参数,public函数利用参数定义自身组件性质,即可将那些变量传递到新窗口

public:
    
### 如何在 QT Creator 中将窗口设置为全屏模式 在 QT Creator 中实现窗口的全屏模式可以通过多种方法完成。以下是基于 Qt 的 C++ 实现方式: #### 使用 `showFullScreen()` 方法 Qt 提供了一个简单的方法来使窗口进入全屏模式,即调用 `QMainWindow` 或其他继承自 `QWidget` 的类中的 `showFullScreen()` 函数[^4]。 ```cpp #include <QApplication> #include <QMainWindow> int main(int argc, char *argv[]) { QApplication app(argc, argv); QMainWindow window; // 设置窗口显示为全屏模式 window.showFullScreen(); return app.exec(); } ``` 此代码片段展示了如何通过 `showFullScreen()` 将主窗口切换到全屏模式。需要注意的是,在某些平台上可能需要额外处理以确保全屏效果正常工作。 #### 自定义全屏逻辑 如果希望手动控制全屏状态,则可以使用以下属性和函数组合: - `windowState()` 获取当前窗口的状态。 - `setWindowState(Qt::WindowFullScreen)` 手动设置窗口为全屏状态[^5]。 ```cpp void MainWindow::toggleFullScreen() { if (this->windowState() & Qt::WindowFullScreen) { this->showNormal(); // 如果已经是全屏则恢复正常窗口大小 } else { this->showFullScreen(); // 否则切换至全屏 } } ``` 上述代码提供了一种动态切换全屏与普通模式的功能,适用于用户交互场景下的需求。 --- 关于 Android 平台上的屏幕保持功能提到的内容[^3]并不直接影响桌面端应用的行为,但在跨平台开发时可作为补充知识点以考虑。 --- #### 调试视图布局技巧 当调整 UI 布局或测试不同窗口模式时,利用调试工具可以帮助快速定位问题。例如,解锁视窗并自由调整其位置和尺寸有助于优化用户体验设计[^2]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值