【翻译】在Qt Designer中创建主窗口(Main Windows)

原文地址:https://doc.qt.io/qt-6/designer-creating-mainwindows.html

Qt Designer 可用于为不同用途创建用户界面,并为每个用户界面提供不同类型的模板。主窗口模板用于创建具有菜单栏、工具栏和停靠窗口部件的应用程序窗口。
在这里插入图片描述

通过打开文件菜单并选择新建窗体...选项,或者 Ctrl + N快捷键,创建一个新的主窗口,然后选择Main Window模板。该模板提供了一个主应用程序窗口,默认情况下包含一个菜单栏和一个工具栏-如果不需要,可以删除它们。
在这里插入图片描述

如果删除了菜单栏,可以再通过窗体右键菜单选择添加菜单栏选项创建一个新的菜单栏。
在这里插入图片描述

注意:一个应用程序只能有一个菜单栏,但可以有多个工具栏。

菜单(Menus)

通过修改 在这里输入占位符将菜单添加到菜单栏。占位符只是为了方便编辑,预览和生成的窗口并不会实际显示。
在这里插入图片描述
在这里插入图片描述
创建后,可以使用属性编辑器访问菜单的属性,并且可以通过对象检视器访问每个菜单项。
在这里插入图片描述
可以通过在菜单栏的标签上打开右键菜单并选择“删除动作xxxx”来删除当前菜单。
在这里插入图片描述

创建菜单

Double-click the placeholder item to begin editing. The menu text, displayed using a line edit, can be modified.

双击占位符项即可编辑。菜单即显示输入的菜单文本。

在文本后输入特殊字符&,其后的文字可以作为快捷键助记符使用,如下图。
在这里插入图片描述

Enter输入新的文本菜单。如果需要,以后可以Ctrl + Z撤消之前的编辑操作。

菜单也可以在菜单栏中重新排序,只需将它们拖放到合适位置即可。下图中的垂直红线位置表示将要插入菜单的位置。

在这里插入图片描述

菜单可以包含任意数量的菜单项和分隔符,并且可以嵌套至所需的层级。

创建菜单项

Double-click the Type Here placeholder to begin editing, or double-click Add Separator to insert a new separator line after the last entry in the menu.

双击 在这里输入 占位符开始编辑,或者双击 添加分隔符在最后一个菜单项下面插入新的分隔符。
在这里插入图片描述

双击已存在的菜单项即可对其进行修改。

插入菜单项所需的文本,可选择使用&标记此菜单项的快捷键。

Enter 完成菜单文本录入。若为这个菜单项创建快捷键等可以通过属性编辑器相关属性进行设置。
在这里插入图片描述

Just like with menus, entries can be moved around simply by dragging and dropping them in the preferred location. When an entry is dragged over a closed menu, the menu will open to allow it to be inserted there. Since menu entries are based on actions, they can also be dropped onto toolbars, where they will be displayed as toolbar buttons.

就像菜单一样,菜单项可以通过简单地拖放到合适位置来移动。当一个条目被拖动到一个关闭的菜单上时,菜单将打开以允许它被插入到那里。由于菜单项是基于操作的,因此也可以将它们拖放到工具栏上,在那里它们将显示为工具栏按钮。
在这里插入图片描述
下图是将文件-打开文件菜单项拖放到了工具栏上(默认菜单栏下面没有工具栏,需要窗体右键菜单添加工具栏
在这里插入图片描述

工具栏(Toolbars)

创建和删除工具栏

工具栏以类似于菜单栏的方式添加到主窗口:从窗体的右键菜单中选择添加工具栏创建,鼠标放至工具栏,通过右键菜单可对其进行删除。
在这里插入图片描述
在这里插入图片描述

添加和删除工具栏按钮

工具栏按钮在“可以由菜单项拖到工具栏上。由于操作由菜单项和工具栏按钮两者皆可,所以它们可以在菜单和工具栏之间互相移动。

工具栏可选中工具栏的某个按钮,通过右键菜单对其进行删除。

动作(Actions)

既然菜单栏和工具栏已经就位,下一步就可以通过动作(Action)来完善他们的功能。

动作编辑器

通过打开具体的菜单项并打开属性编辑器选项来对其进行操作。

属性编辑器允许您创建新的属性,当然也可以删除。可以通过过滤器快速的检索到需要的属性。
在这里插入图片描述

Qt 设计器的属性编辑器可以在经典的树视图下拉按钮视图中查看。如下图所示
在这里插入图片描述

停靠窗口(Dock Widget)

Qt的Dock Widget是一种用于实现窗口布局的组件。Dock Widget可以在Qt应用程序中创建一个可停靠的窗口,用户可以通过拖动Dock Widget来调整窗口的位置和大小,也可以将Dock Widget停靠到应用程序的任何位置。

添加停靠窗口

若要向窗体添加一个Dock Widget,只需在窗口部件盒中找到Dock Widget组件并拖至主窗体设计区域即可。不要将 Dock Widget添加到现有布局中。相反,应该打开“属性编辑器”并启用停靠的属性以将其放置在停靠区域中。
在这里插入图片描述
在这里插入图片描述

注意:如果在将布局应用于中心小部件之前将其添加到窗体中,则有时更容易配置停靠窗口组件。例如,可以取消停靠并调整它的大小,从而更方便地添加子窗口组件。
可以选择将 Dock Widget组件作为独立的停靠工具窗口。因此,通过设置它们的 windowTitle 属性来给它们赋予窗口标题是很有用的。这也有助于在表单上识别它们。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/324251.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3项目部署到服务器,刚打开没事,一刷新页面就404

vue3项目部署到服务器,刚打开没事,一刷新页面就404 vue3项目,在本地调试时各方面都没毛病,刷新也没毛病,但是,扔到服务器上,第一次打开是正常的,再刷新下就404了,不知道什…

java+vue基于Spring Boot的渔船出海及海货统计系统

该渔船出海及海货统计系统采用B/S架构、前后端分离进行设计,并采用java语言以及springboot框架进行开发。该系统主要设计并完成了管理过程中的用户注册登录、个人信息修改、用户信息、渔船信息、渔船航班、海货价格、渔船海货、非法举报、渔船黑名单等功能。该系统操…

含PEMFC的热电联供系统能量管理策略Simulink仿真

1.光伏发电系统 在直流微电网中,光伏电池系统经过升压DC/DC变换器接入直流微电网提供功率。在不同的系统运行条件下,光伏电池系统有三种工作模式:MPPT 模式、下垂模式和空闲模式。由于光伏阵列的输出特性随着环境条件影响,光伏电池…

docker-compose安装HertzBeat赫兹跳动监控H3C交换机

前面我们用docker方式安装了HertzBeat,现在我们自己写个docker-compose.yml文件、创建文件直接docker-compose up -d直接启动运行 使用docker-compose需要先安装docker和docker-compose1、输入以下两段命令 mkdir 123 && cd 123 && mkdir data &a…

Spring Cloud + Vue前后端分离-第12章 通用权限设计

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 Spring Cloud Vue前后端分离-第12章 通用权限设计 这一章我们不依赖第三方框架,我会从权限相关表的设计,到权限的配置,到权限的拦截,带大家一步一步的做出…

领域驱动设计——DDD领域驱动设计进阶

摘要 进阶篇主要讲解领域事件、DDD 分层架构、几种常见的微服务架构模型以及中台设计思想等内容。如何通过领域事件实现微服务解耦?、怎样进行微服务分层设计?、如何实现层与层之间的服务协作?、通过几种微服务架构模型的对比分析&#xff0…

【LeetCode】206. 反转链表(简单)——代码随想录算法训练营Day03

题目链接:206. 反转链表 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输…

多目标优化(Python):多目标粒子群优化算法(MOPSO)求解ZDT1、ZDT2、ZDT3、ZDT4、ZDT6(提供Python代码)

一、多目标粒子群优化算法 多目标粒子群优化算法(MOPSO)是一种用于解决多目标优化问题的进化算法。它基于粒子群优化算法(PSO),通过引入多个目标函数和非支配排序来处理多目标问题。 MOPSO的基本思想是将问题转化为在…

【Docker】Docker容器实战部署多个Nginx实现负载均衡和高可用

文章目录 前言下载Nginx复制出配置文件第一步:启动容器 修改配置nginx-lb里的nginx.conf 启动容器启动nginx1启动nginx2启动nginx-lb 演示效果 前言 Docker下部署多个Nginx进行负载均衡,我这次实操的思路是使用三个Nginx。其中一个Nginx起负载均衡的作用…

SQL-用户管理与用户权限

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

运筹说 第80期 | 最小费用最大流问题

前面我们学习了图与网络分析的基础知识及经典问题,大家是否已经学会了呢?接下来小编和大家学习最后一个经典问题——最小费用最大流问题。 最小费用最大流问题是经济学和管理学中的一类典型问题。在一个网络中每段路径都有“容量”和“费用”两个限制的…

上门按摩小程序开发-类似东郊到家系统搭建-足浴养生按摩小程序定制开发完整流程+成功案例

随着现代生活节奏的加快,人们的生活压力越来越大,亚健康问题也日益突出。为了满足人们对于健康和放松的需求,上门按摩小程序应运而生。这种小程序通过提供预约按摩服务,让用户在家就能享受到专业的按摩护理,缓解疲劳&a…

PHP项目如何自动化测试

开发和测试 测试和开发具有同等重要的作用 从一开始,测试和开发就是相向而行的。测试是开发团队的一支独立的、重要的支柱力量。 测试要具备独立性 独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具。没有…

高效视频剪辑:视频合并让视频焕然一新,添加背景音乐更动听

随着社交媒体和数字内容的普及,视频剪辑已成为一项常用的技能。除了基本的剪辑技巧外,添加合适的背景音乐也是提升视频质量的方法。下面来看云炫AI智剪的高效视频剪辑技巧——如何批量合并视频,添加动听的背景音乐。 视频合并后的效果展示&a…

JSP-概念

一、引子 很多读者可能听过JSP,并且知道这是一门过时的技术了。在Spring,SpringBoot已经成为主流的今天,笔者为什么还要介绍JSP的相关内容呢?笔者常常提到一个概念:理解一门技术,要理解这个技术为什么产生…

城乡规划怎么转型智慧智慧城市?

智慧城市不仅仅包含“城市”,智慧城市的核心是数字化。 智慧城市的概念包括:智慧医疗、智慧交通、智慧园区、智慧物流等等所有涉及到数字化管理的各行各业。 智慧城市的发展是趋势,因此城规专业从事“智慧城市”相关的工作都比较合适。 那…

Mindspore 公开课 - BERT

BERT BERT模型本质上是结合了 ELMo 模型与 GPT 模型的优势。 相比于ELMo,BERT仅需改动最后的输出层,而非模型架构,便可以在下游任务中达到很好的效果;相比于GPT,BERT在处理词元表示时考虑到了双向上下文的信息&#…

Arduino| 串口通讯、入门示例

Arduino串口通讯 为什么要做串口通讯串口通讯原理串口通讯函数字符串常用函数串口通讯示例入门示例测试串口通讯复杂指令处理 为什么要做串口通讯 串口通讯:串口通信是用来在不同电子设备之间交换数据用的技术,其实就是要实现不同电子设备之间的“通讯对…

与react的初定情素

前要: 努力打好基础才能学好它!由于我使用vue已经3年了!来学习react,所以我写的只要我自己看得懂的就行!学这我自己会与vue的语法做对比的! 目录概览 基本表达式{}列表渲染条件渲染事件的绑定组件useState …

Linux入门级常用命令学习笔记

以下命令是我跟着编程界的大佬鱼皮学习Linux时用的命令,我把它都记下来,权当作笔记,可供自己后期反复练习使用,让我们学习一下最基本的Linux命令吧。 一、Linux实战命令 在dos下 【ssh 服务器ip】可以连接服务器,输入…