Qt窗口的一些简单设置-标题、图标、最大化最小化按钮、任务栏图标

这篇博客总结了Qt窗口的一些基本设置,包括如何更改窗体标题,控制窗体大小,设置窗口图标,以及去除标题栏中的最大化和最小化按钮。同时介绍了如何添加任务栏图标,提供了详细的步骤和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

零零碎碎看了很多Qt例子,有一些很零散的窗体控制方法,在这总结一些。

1.更改窗体标题

this->setWindowTitle("窗体标题");

“窗体标题”就是更改的窗体标题

2.控制窗体大小

    this->setMaximumSize(300,300);  //窗体最大尺寸
    this->setMinimumSize(300,300);  //窗体最小尺寸
    this->setMinimumHeight(300);    //单独设置窗体高的最小值
    this->setMaximumWidth(300);     //单独设置窗体宽的最小值


也可以通过窗体布局控制窗体大小

    QGridLayout *mainLayout = new QGridLayout;                  //窗体中控件为网格布局
    mainLayout->setSizeConstraint(QLayout::SetFixedSize);       //布局大小不变


在构造函数中的这个函数强制设置窗体的布局为固定大小,用户不可自行调整对话框大小。布局管理器将会负责调整大小的任务,当一些子窗口期间显示或隐藏的时候自动的调整对话框的大小,以保证对话框总是以优化了的大小显示。

在官方文档中setSizeConstraint给的解释为:sizeConstraint:SizeConstraint.  This property holds the resize mode of the layout.

这个函数主要是通过布局管理器对布局大小进行限制,与上面介绍的窗体大小有所不同。

<
Qt中,为了实现在任务栏上点击应用程序图标最小化窗口的功能,你需要在创建主窗口(通常是一个`QMainWindow`实例)时设置窗口管理器的行为。这通常涉及到关联信号与槽(Signal and Slot)。 首先,在`ui_mainwindow.cpp`或相应的槽文件中,添加一个信号连接到窗口的`showMinimized()`方法,这个方法会将窗口缩小到任务栏托盘: ```cpp // 在槽函数里,比如窗口加载完成后的槽 QObject::connect(window, &QMainWindow::show, this, &MyClass::onShow); connect(window, &QMainWindow::close, QApplication::quit); // 关闭程序 // 添加一个显示最小化的信号连接 connect(window, &QMainWindow::shown, this, &MyClass::onShown); // 这里假设 MyClass 是你的主类 void MyClass::onShown() { if (!isMaximized()) { // 检查窗口是否已经最大化,如果没有才最小化 window->showMinimized(); // 显示最小化 } } ``` 然后在`main.cpp`或者其他全局初始化的地方,确保你的`QApplication`设置了正确的窗口管理器: ```cpp int main(int argc, char *argv[]) { QApplication app(argc, argv); // 初始化并设置窗口管理器为Qt系统默认的 QWidget* widget = new QMainWindow(); app.setWindowIcon(QIcon(":/icon.ico")); // 设置图标,用于任务栏 widget->setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint); // 使用工具窗口模式,并保持在其他窗口之上 widget->show(); return app.exec(); } ``` 通过这种方式,当用户单击任务栏图标时,窗口会被最小化。如果需要更复杂的窗口恢复逻辑,可以在`onShown()`中增加更多的条件判断和事件处理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值