Qt设置最大化最小化和关闭

窗口如果继承<kbd>QDialog</kbd>,那窗口就只有关闭按钮;如果继承<kbd>QWidget</kbd>,那么就有关闭,最大化,最小化三个按钮,如何个性化定制这三个按钮呢,解决方案是void setWindowFlags ( Qt::WindowFlags type )

setWindowFlags ( Qt::WindowFlags type )
Qt::FrameWindowHint://没有边框的窗口
Qt::WindowStaysOnTopHint://总在最上面的窗口
Qt::CustomizeWindowHint://自定义窗口标题栏,以下标志必须与这个标志一起使用才有效,否则窗口将有默认的标题栏
Qt::WindowTitleHint://显示窗口标题栏
Qt::WindowSystemMenuHint://显示系统菜单
Qt::WindowMinimizeButtonHint://显示最小化按钮
Qt::WindowMaximizeButtonHint://显示最大化按钮
Qt::WindowMinMaxButtonsHint://显示最小化按钮和最大化按钮
Qt::WindowCloseButtonHint://显示关闭按钮 

1.取消最大化按钮

这个需求是我们设计软件过程中常常希望得到的,在构造函数中输入

this->setWindowFlags(Qt::WindowMinimizeButtonHint|Qt::WindowCloseButtonHint);

2.取消最小化按钮

this->setWindowFlags(Qt::WindowMaximizeButtonHint|Qt::WindowCloseButtonHint);

3.取消最大最小化按钮

this->setWindowFlags(Qt::WindowCloseButtonHint);

关闭窗口时显示提示框

在主窗口中重写CloseEvent事件

void Widget::closeEvent(QCloseEvent::event){
	int res = QMessageBox::question(this, "确定",“你要关闭吗”, "是", "否")if (res ==1){
		event -> ignore();
	}
}

全部评论

相关推荐

2025-12-28 16:32
重庆邮电大学 Java
程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
2025-11-30 21:55
哈尔滨华德学院 Java
高通滤波器v:我最近投的几个,都是要不已读不回,要不不回,还有直接拒绝的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务