QT 固定窗口大小,禁止拖拽改变窗口尺寸

2024-04-08 1783阅读

温馨提示:这篇文章已超过388天没有更新,请注意相关的内容是否还可用!

文章作者:里海

来源网站:里海QT专栏


一、背景介绍

在Qt框架中,窗口的大小是可以动态调整的,用户可以根据需要扩大或缩小窗口。然而,在某些应用场景下,我们可能希望窗口的大小是固定的,即用户不能修改窗口的大小。这可以通过设置窗口的最小大小和最大大小来实现,当最小大小和最大大小被设置为相同时,窗口的大小就被固定了。

二、通过UI Designer设置固定大小

在Qt Designer中,设置窗口的固定大小非常直观和简单。以下是具体步骤:

1.打开Qt Designer,在属性编辑器中找到“size”属性。在“size”属性中,你可以看到“minimumSize”和“maximumSize”两个子属性。将“minimumSize”和“maximumSize”都设置为你想要的固定大小。该窗口的大小就被固定了,用户无法修改它的大小。

2.另一种方法:拖拽修改合适大小的窗口然后按下图操作:

QT 固定窗口大小,禁止拖拽改变窗口尺寸

三、通过代码设置固定大小

除了通过UI Designer设置固定大小外,你还可以在代码中动态地设置窗口的固定大小。这可以通过调用QWidget类的setMinimumSize和setMaximumSize方法来实现。以下是示例代码:

// 设置窗口的最小大小为800x600像素  
myWidget->setMinimumSize(QSize(800, 600));  
  
// 设置窗口的最大大小为800x600像素  
myWidget->setMaximumSize(QSize(800, 600));  

四、注意事项

在UI Designer中设置了窗口的固定大小,那么在代码中再次调用setMinimumSize和setMaximumSize方法会覆盖你在UI Designer中的设置。

在某些情况下,你可能希望在某些特定的条件下固定窗口的大小,而在其他条件下允许用户调整窗口的大小。在这种情况下,你可以根据需要动态地调用setMinimumSize和setMaximumSize方法来改变窗口的大小限制。

QT 固定窗口大小,禁止拖拽改变窗口尺寸

Qt是什么?

  Qt 是一个跨平台的 C++ 框架(C++库),主要用于开发图形用户界面(GUI)程序,但也支持不带界面的命令行(CUI)程序。Qt 支持多种操作系统,包括 Windows、Linux、Unix、Android、iOS、WinPhone 等。Qt 是用 C++ 编写的,但它包含了一些扩展,使得它不同于标准的 C++。

  Qt 可以用来开发各种应用程序,包括桌面程序、嵌入式程序等。许多知名软件都使用 Qt 进行开发,如 WPS、YY语音、Skype、豆瓣电台、虾米音乐、淘宝助理、千牛、战网客户端、VirtualBox 等。在 Linux 和嵌入式系统中,Qt 也是主力军,广泛应用于消费类电子、工业控制、军工电子、电信/网络/通讯、航空航天、汽车电子、医疗设备、仪器仪表等相关行业。

  Qt 的历史可以追溯到 1991 年,由两个挪威人 Eirik Chambe-Eng 和 Haavard Nord 开发。后来,他们成立了奇趣科技公司(Trolltech),并在 2000 年为开源社区发布了遵循 GPL 许可证的开源版本。2008 年,诺基亚公司收购了奇趣科技公司,增加了 LGPL 的授权模式。由于诺基亚公司的问题,Qt 商业授权业务于 2011 年出售给了芬兰 IT 服务公司 Digia。最后,Digia 于 2014 年成立 Qt Company 全资子公司,独立运营 Qt 商业授权业务。经过 20 多年的发展,Qt 已经成为最优秀的跨平台开发框架之一,在各行各业的项目开发中得到广泛应用。

  相比之下,MFC(Microsoft Foundation Classes)只能在 Windows 上运行。这个框架只是给 Windows API 加了一层简单的包装,命名比较混乱,学习的话需要比较强的 WinAPI 基础。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]