0—QT ui界面一览

news2025/2/27 17:34:30

2025.2.26,感谢gpt4

1.控件盒子

1. Layouts(布局)

布局控件用于组织界面上的控件,确保它们的位置和排列方式合理。

  • Vertical Layout(垂直布局)

:将控件按垂直方向排列。

建议:适合表单、设置面板、按钮排列等。比如,登录界面常用这个布局,将输入框和按钮垂直排列。

  • Horizontal Layout(水平布局)

:将控件按水平方向排列。

建议:适用于工具栏、菜单栏、水平按钮组等。比如,导航栏、工具栏等,确保元素横向排列,节省垂直空间。

  • Grid Layout(网格布局)

:按照网格形式排列控件。

建议:适用于复杂的表单、数据表格、网格状的图标展示。比如,Excel 样式的表格或者有多个输入项的复杂表单。

  • Form Layout(表单布局)

:适合标签和输入控件排列。

建议:非常适合需要标签和输入框并排显示的场景,如注册表单、用户设置界面等。


2. Spacers(间隔)

间隔控件用于调整控件之间的距离,避免界面看起来拥挤。

  • Horizontal Spacer(水平间隔)

:增加水平间隔。

建议:适用于水平布局中控件之间需要留空的地方。例如,在按钮组之间添加间隔,使它们看起来不那么紧凑。

  • Vertical Spacer(垂直间隔)

:增加垂直间隔。

建议:在垂直排列的控件中,如表单或列表,使用垂直间隔来增加控件之间的可读性,避免过于拥挤。


3. Buttons(按钮)

按钮是用户交互的关键控件,用于触发事件或操作。

  • Push Button(推按钮)

:普通按钮。

建议:适用于任何触发事件的场景,如提交按钮、确认按钮等,设计时要确保按钮的文本简洁明确。

  • Tool Button(工具按钮)

:带有图标的按钮。

建议:适用于工具栏中的按钮,简洁而功能明确,配合图标使用效果更好。

  • Radio Button(单选按钮)

:让用户在多个选项中选择一个。

建议:适用于选择项互斥的场景,例如选择性别、支付方式等,确保一组选项不同时选中。

  • Check Box(复选框)

:允许用户选择多个选项。

建议:适用于允许多选的情况,例如设置项或多项选择问题,保持复选框的间隔,避免视觉拥挤。

  • Command Link Button(命令链接按钮)

:链接式按钮。

建议:适用于提示用户执行某个操作或切换到某个界面的场景,常见于对话框中,用于引导用户进行操作。


4. Item Views(项视图)

这些控件用于展示结构化的数据,例如列表、树形结构等。

  • List View(列表视图)

:显示列表数据。

建议:适合用于简单的条目展示,如文件列表、消息列表等。如果数据较少,可以选择这个控件。

  • Tree View(树视图)

:展示层级结构数据。

建议:适用于文件管理器、目录树等结构化数据展示,例如文件夹中的文件和子文件夹。让用户更直观地看到数据层级。

  • Column View(列视图)

:列形式展示数据。

建议:适合展示分列的数据,如联系人信息表、商品展示列表等。


5. Containers(容器)

容器控件用于将多个控件组织在一起,形成模块化的界面。

  • Group Box(分组框)

:将多个控件分组在一起。

建议:适用于将控件分块,增强界面的结构感。例如,将相关设置放在一个可折叠的分组框中。

  • Scroll Area(滚动区域)

:提供滚动区域用于显示更多内容。

建议:适用于内容较多且超出显示区域的情况,如设置面板、长表单等,确保用户能滚动查看所有内容。


6. Input Widgets(输入控件)

这些控件主要用于接收用户的输入或提供选择。

  • Combo Box(下拉框)

:让用户从一组选项中选择。

建议:适用于有限的选择项,例如国家选择、类别选择等,不占用过多空间。

  • Font Combo Box(字体选择框)

:让用户选择字体。

建议:适合设计类应用,如文本编辑器,允许用户选择字体。

  • Line Edit(单行文本框)

:输入单行文本。

建议:适用于较短的文本输入场景,如用户名、邮箱等。使用时可以设置合适的提示信息(PlaceHolder)。

  • Text Edit(多行文本框)

:输入多行文本。

建议:适用于输入较长的内容,例如评论框、留言板。

  • Spin Box(数值输入框)

:输入数字。

建议:适用于需要限制数值范围的输入场景,如数量选择、年龄设置等,提升用户体验。

  • Double Spin Box(浮动数值输入框)

:支持浮动小数点的数值输入。

建议:适用于需要小数输入的场景,如价格输入、测量值等。

  • Time Edit(时间输入框)

:输入时间。

建议:适用于涉及时间设置的场景,例如计时器、时间选择器。

  • Date Edit(日期输入框)

:输入日期。

建议:适用于事件日期、生日输入等需要选择日期的功能。

  • Dial(旋钮控件)

:旋转控制器,选择数值。

建议:适用于调节音量、亮度等功能,增强交互感。

  • Horizontal/Vertical Slider(水平/垂直滑块)

:通过滑块选择数值。

建议:适用于调节音量、亮度、进度条等,直观且易于操作。

  • Key Sequence Edit(键序列编辑框)

:捕获键盘输入序列。

建议:适用于快捷键设置功能,允许用户自定义快捷键。


7. Display Widgets(显示控件)

这些控件用于显示静态信息或提供视觉反馈。

  • Label(标签)

:显示文本或图像。

建议:适合标题、描述文本或图片展示,使用时确保标签文本简洁明了。

  • Text Browser(文本浏览器)

:显示多行文本,支持富文本格式。

建议:适用于显示长文本、富文本或带有链接的内容,如帮助文档、新闻资讯。

  • Graphics View(图形视图)

:显示图形内容。

建议:适合图形化应用,如绘图工具、数据可视化展示等,增强用户互动体验。

  • Calendar Widget(日历控件)

:显示日历并选择日期。

建议:适合日程安排、日期选择器等功能,清晰显示日期和月份。

  • LCD Number(LCD 数字显示控件)

:数字显示控件,类似于 LCD 屏幕。

建议:适合用于显示实时数字信息,如计时器、计数器、进度条等。

  • Progress Bar(进度条)

:显示任务的进度。

建议:适用于文件下载、长时间运行的操作,帮助用户了解任务进展。

  • Horizontal/Vertical Line(分隔线)

:在界面中插入水平或垂直分隔线。

建议:适用于界面分隔,增强结构感,保持界面整洁。

  • OpenGL Widget(OpenGL 控件)

:显示 3D 图形。

建议:适用于图形密集型应用,如游戏、3D 绘图工具等。

  • QQuickWidget(QQuick 控件)

:显示 QML 内容。

建议:适用于动态界面开发,特别是结合 QML 与 C++ 的应用程序,创建现代化的界面。

中间布局的展示就不多说了

右侧:

2.对象查看器

右侧的界面是 Qt Creator 中的 属性编辑器,用于查看和编辑当前选中控件的属性。这个界面主要包含两个部分:

 对象查看器(Object Explorer)

这个部分显示了当前 UI 界面中的控件层级结构,你可以选择不同的控件进行编辑。它分为两个主要区域:

  • MainWindow:这是当前选中的控件,可以看到窗口中的 centralWidget、menubar(菜单栏)、statusbar(状态栏)等子控件

  • MainWindow (QMainWindow): 这是一个典型的Qt窗口,通常用作应用程序的主窗口。它提供了可以包含菜单栏、工具栏、状态栏等区域的框架。你可以通过添加不同的小部件(widgets)来构建应用程序的用户界面。

  • centralwidget (QWidget): QWidget是Qt中所有用户界面元素的基类。centralwidget通常是QMainWindow的核心部件,它是窗口的主要内容区域。在centralwidget中可以添加各种其他小部件,如按钮、文本框、图像等。

  • 这些组件通过继承关系呈现,QMainWindow继承自QWidget,而QMenuBarQStatusBar是专门用来增加功能的子类。

  • menubar (QMenuBar): 这是Qt应用程序中的菜单栏,它显示在窗口的顶部。通过菜单栏,用户可以访问各种功能,如文件操作、编辑功能等。它包含多个菜单项,每个菜单项下可能有多个操作。

  • statusbar (QStatusBar): 这是Qt窗口中的状态栏,用来显示应用程序的当前状态或提示信息。通常状态栏会显示一些文本信息,如文件保存状态、鼠标位置或加载进度等。

  • 你可以通过点击不同的控件,在下方的 属性编辑器 中查看和修改它们的属性。

3. 属性编辑器(Property Editor)

这部分显示的是 QWidget 控件的属性,涵盖了界面的一些外观、行为和功能设置。以下是这些属性的功能和建议:

  • enabled

:控制控件是否启用。

建议:如果设置为禁用,则控件不可交互,适用于某些暂时不需要用户操作的场景,例如禁用某些按钮直到某个条件满足。

  • geometry

:设置控件的位置信息和大小。

例如:[ (0, 0), 976 x 661 ] 表示控件的位置在 (0, 0),并且控件大小为 976x661 像素。

建议:你可以根据需要调整大小和位置,例如设置合适的大小来适应屏幕或容器大小。

  • sizePolicy

:控制控件如何自适应大小。

建议:设置为 Preferred,表示控件将根据父容器的大小变化来自动调整大小。适用于大多数控件,如果需要更强的灵活性,可以尝试调整为 Expanding 或 MinimumExpanding。

感谢:qt 如何设计好布局和漂亮的界面。_qt 界面-CSDN博客

🔵Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。

🔵Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。

🔵Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。

🔵Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小。

🔵Expandint:控件可以自行增大或者缩小。

🔵MinimumExpanding:控件的sizeHint是它的sizeHint,但是可以使用额外的空间,也就是它会尽可能得到更多的空间。

🔵Ignored:控件的sizeHint不起作用,它会尽可能得到更多的空间。

  • minimumSize

maximumSize:设置控件的最小和最大尺寸。

建议:用于限制控件的尺寸,避免它在某些布局中拉伸过大或过小。

  • sizeIncrement

:定义控件在调整大小时的增量。通常用于控件在自适应大小时的步进值。设置的值会影响控件在扩展时的最小单位增量。

例如,sizeIncrement: 10 x 10 表示每次控件扩展时,宽度和高度都会增加 10 像素。

建议:如果你希望控件的大小调整非常精确或者希望用户拖动控件时能够按固定步长来调整尺寸,可以设置合适的 sizeIncrement 值。对于动态界面,可以将其设置为更大的增量,而对于固定布局的界面,可能需要精细的增量值来更好地控制界面的布局。

  • baseSize

:设置控件的基础大小,即在没有额外的布局调整时的默认大小。baseSize 用于描述控件的初始尺寸,它通常影响控件在不同布局中如何分配空间。

例如,baseSize: 100 x 100 表示控件的默认大小为 100 像素宽和 100 像素高。

建议:可以根据实际需求设置控件的初始大小。若想要控件在布局中以固定的初始大小显示,可以设置 baseSize,这样控件会优先采用此尺寸。如果需要自适应的布局效果,可以通过调整其他尺寸属性来代替使用 baseSize。

  • palette

:控件的调色板,定义了控件的前景色、背景色等。

建议:如果想要自定义控件的颜色,可以通过修改这个属性设置背景色、文本颜色等。

  • font

:设置控件的字体样式。

建议:确保控件的字体符合应用的整体风格,特别是在需要显示大量文本时,选择清晰易读的字体。

  • cursor

:设置控件的鼠标指针样式。

建议:根据控件的功能,设置适合的指针样式,比如设置为 PointingHandCursor 用于按钮或链接。

  • mouseTracking

:启用鼠标跟踪。

建议:启用时,鼠标事件将不再需要按下按钮就能触发。适用于需要实时跟踪鼠标位置的场景,例如绘图应用。

  • tabletTracking

:控制平板设备的触摸事件跟踪。

建议:如果你的应用需要支持触摸设备,可以开启此选项。

  • focusPolicy

:设置控件的焦点策略。

建议:NoFocus 表示控件不接受焦点,StrongFocus 则表示控件可以接收焦点并响应键盘事件,适用于表单控件。

  • contextMenuPolicy

:设置控件的右键菜单策略。

建议:DefaultContextMenu 表示控件显示默认的上下文菜单,适用于大多数控件。如果有自定义的右键菜单,可以设置为 CustomContextMenu。

  • acceptDrops

:设置控件是否接受拖放操作。

建议:如果控件需要支持拖放功能(如拖放文件到界面中),可以启用此选项。

  • windowTitle

:设置窗口的标题。

建议:在多窗口应用中,设置合适的窗口标题可以帮助用户识别当前窗口的功能或状态。

  • windowIcon

:设置窗口的图标。

建议:为应用设置一个图标,提升视觉效果,帮助用户在任务栏和应用切换中区分应用。

  • windowOpacity

:设置窗口的透明度。

建议:设置透明度可以带来更具现代感的视觉效果,通常设置为 1.0 表示完全不透明,设置小于 1.0 会使窗口部分透明。

  • toolTip

:设置控件的工具提示文本。

建议:为控件添加简洁的提示,帮助用户理解控件的用途。特别适用于图标按钮等。

  • toolTipDuration

:设置工具提示显示的时长。

建议:如果提示信息较长,可以适当延长显示时间;如果是简单提示,保持默认时长即可。

  • statusTip

:设置控件的状态提示。

建议:状态提示通常显示在状态栏,用于显示当前控件的状态或操作结果。

  • whatsThis

:设置控件的详细帮助信息,用户可以通过右键菜单访问。

建议:如果控件比较复杂或功能较多,提供帮助信息会大大提升用户体验。

  • accessibleName

accessibleDescription:为无障碍用户提供名称和描述。

建议:如果应用需要支持屏幕阅读器等无障碍功能,设置这些属性将帮助视力障碍的用户更好地理解控件。

  • layoutDirection

:设置控件的布局方向,选择从左到右(LeftToRight)或从右到左(RightToLeft)。

建议:根据目标语言和区域设置适当的布局方向,特别是支持阿拉伯语等从右到左书写的语言时。

  • autoFillBackground

:设置控件是否自动填充背景。

建议:如果控件有透明背景,启用此属性可以确保背景颜色被填充,避免显示问题。

  • styleSheet

:设置控件的自定义样式表。

建议:使用 CSS 样式表自定义控件的外观,控制控件的颜色、边框、字体等。

  • locale

:设置语言环境,影响日期、时间、数字格式等。

建议:适用于多语言应用,帮助你自动根据用户地区选择合适的格式。

  • windowFilePath

:窗口的文件路径。

建议:通常用于文件对话框,显示文件路径。

  • inputMethodHints

:设置输入法提示。

建议:如果你的应用需要支持特定的输入法类型,可以通过此选项配置。

  • windowModality

:设置窗口的模态类型,选择是否允许与其他窗口交互。

建议:如果需要强制用户处理某个窗口,可以设置为 WindowModal,否则选择 NonModal。

右下角显示的是 QMainWindow 控件的一些高级属性,以下是每个属性的功能和建议:

  • iconSize

:设置工具按钮图标的大小,当前设置为 30 x 30。

建议:适用于工具栏按钮,调整图标的大小可以确保界面在不同分辨率下的清晰度和可用性。

  • toolButtonStyle

:设置工具按钮的显示样式。

选项

:启用或禁用窗口中的动画效果。

建议:启用动画效果可以使控件和窗口的过渡更加平滑,提升用户体验,特别是在窗口切换或状态变化时。

  • documentMode

:设置窗口是否为文档模式。

建议:启用此选项时,窗口将自动处理多个文档切换,适用于文本编辑器或多文档应用。

  • tabShape

:设置选项卡的形状。

选项

:控制是否启用停靠窗口嵌套功能。

建议:如果需要让停靠窗口能够嵌套到一起,可以启用此选项,使得界面更加灵活。

  • dockOptions

:设置停靠窗口的相关选项。

选项

:在 macOS 上启用标题栏和工具栏的统一样式。

建议:如果你的应用针对 macOS,启用此选项可以让界面符合 macOS 的标准界面设计。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

纷析云:赋能企业财务数字化转型的开源解决方案

在企业数字化转型的浪潮中,财务管理的高效与安全成为关键。纷析云凭借其开源、安全、灵活的财务软件解决方案,为企业提供了一条理想的转型路径。 一、开源的力量:自主、安全、高效 纷析云的核心优势在于其100%开源的财务软件源码。这意味着…

P8716 [蓝桥杯 2020 省 AB2] 回文日期

1 题目说明 2 题目分析 暴力不会超时&#xff0c;O(n)的时间复杂度&#xff0c; < 1 0 8 <10^8 <108。分析见代码&#xff1a; #include<iostream> #include<string> using namespace std;int m[13]{0,31,28,31,30,31,30,31,31,30,31,30,31};// 判断日期…

(十)趣学设计模式 之 外观模式!

目录 一、 啥是外观模式&#xff1f;二、 为什么要用外观模式&#xff1f;三、 外观模式的实现方式四、 外观模式的优缺点五、 外观模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;可以多多支…

apache-maven-3.2.1

MAVEN_HOME D:\apache-maven-3.2.1 PATH D:\apache-maven-3.2.1\bin cmd mvn -v <localRepository>d:\localRepository</localRepository> setting.xml <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Soft…

编程题-连接两字母单词得到的最长回文串(中等)

题目&#xff1a; 给你一个字符串数组 words 。words 中每个元素都是一个包含 两个 小写英文字母的单词。 请你从 words 中选择一些元素并按 任意顺序 连接它们&#xff0c;并得到一个 尽可能长的回文串 。每个元素 至多 只能使用一次。 请你返回你能得到的最长回文串的 长度…

论文笔记(七十二)Reward Centering(三)

Reward Centering&#xff08;三&#xff09; 文章概括摘要3 基于值的奖励中心化4 案例研究&#xff1a; 以奖励为中心的 Q-learning5 讨论、局限性与未来工作致谢 文章概括 引用&#xff1a; article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan…

【论文笔记-ECCV 2024】AnyControl:使用文本到图像生成的多功能控件创建您的艺术作品

AnyControl&#xff1a;使用文本到图像生成的多功能控件创建您的艺术作品 图1 AnyControl的多控制图像合成。该研究的模型支持多个控制信号的自由组合&#xff0c;并生成与每个输入对齐的和谐结果。输入到模型中的输入控制信号以组合图像显示&#xff0c;以实现更好的可视化。 …

Redisson使用场景及原理

目录 一、前言 二、安装Redis 1、Windows安装Redis ​2、启动方式 3、设置密码 三、项目集成Redission客户端 1、引入依赖 四、实用场景 1、操作缓存 2、分布式锁 3、限流 3.1 创建限流器 3.2 设置限流参数 3.3 获取令牌 3.4 带超时时间获取令牌 3.5 总结 一、…

【二分查找 图论】P8794 [蓝桥杯 2022 国 A] 环境治理|普及

本文涉及的基础知识点 本博文代码打包下载 C二分查找 C图论 [蓝桥杯 2022 国 A] 环境治理 题目描述 LQ 国拥有 n n n 个城市&#xff0c;从 0 0 0 到 n − 1 n - 1 n−1 编号&#xff0c;这 n n n 个城市两两之间都有且仅有一条双向道路连接&#xff0c;这意味着任意两…

25中医研究生复试面试问题汇总 中医专业知识问题很全! 中医试全流程攻略 中医考研复试调剂真题汇总

各位备考中医研究生的小伙伴们&#xff0c;一想到复试&#xff0c;是不是立刻紧张到不行&#xff0c;担心老师会抛出一大堆刁钻的问题&#xff1f;别怕&#xff01;其实中医复试也是有套路可循的&#xff0c;只要看完这篇攻略&#xff0c;你就会发现复试并没有想象中那么难&…

stm32hal库寻迹+蓝牙智能车(STM32F103C8T6)

简介: 这个小车的芯片是STM32F103C8T6&#xff0c;其他的芯片也可以照猫画虎,基本配置差不多,要注意的就是,管脚复用,管脚的特殊功能,(这点不用担心,hal库每个管脚的功能都会给你罗列,很方便的.)由于我做的比较简单,只是用到了几个简单外设.主要是由带霍尔编码器电机的车模,电机…

使用Jenkins实现Windows服务器下C#应用程序发布

背景 在现代化的软件开发流程中&#xff0c;持续集成和持续部署&#xff08;CI/CD&#xff09;已经成为不可或缺的一部分。 Jenkins作为一款开源的自动化运维工具&#xff0c;能够帮助我们实现这一目标。 本文将详细介绍如何在Windows服务器下使用Jenkins来自动化发布C#应用…

[java基础-JVM篇]1_JVM自动内存管理

JVM内存管理涉及但不限于类加载、对象分配、垃圾回收等&#xff0c;本篇主要记录运行时数据区域与对象相关内容。 内容主要来源《深入理解Java虚拟机&#xff1a;JVM高级特性与最佳实践》与官方文档&#xff0c;理解与表述错漏之处恳请各位大佬指正。 目录 运行时数据区域 栈 栈…

【Linux】vim 设置

【Linux】vim 设置 零、起因 刚学Linux&#xff0c;有时候会重装Linux系统&#xff0c;然后默认的vi不太好用&#xff0c;需要进行一些设置&#xff0c;本文简述如何配置一个好用的vim。 壹、软件安装 sudo apt-get install vim贰、配置路径 对所有用户生效&#xff1a; …

基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统

2024旅游推荐系统爬虫可视化&#xff08;协同过滤算法&#xff09; 基于Pythondjangomysql旅游数据爬虫采集可视化分析推荐系统 有文档说明 部署文档 视频讲解 ✅️基于用户的协同过滤推荐算法 卖价就是标价~ 项目技术栈 Python语言、Django框架、MySQL数据库、requests网络爬虫…

Oracle 12c Docker安装问题排查 sga_target 1536M is too small

一、问题描述 在虚拟机环境&#xff08;4核16GB内存&#xff09;上部署 truevoly/oracle-12c 容器镜像时&#xff0c;一切运行正常。然而&#xff0c;当在一台 128 核 CPU 和 512GB 内存的物理服务器上运行时&#xff0c;容器启动时出现了 ORA-00821 等错误&#xff0c;提示 S…

es-head(es库-谷歌浏览器插件)

1.下载es-head插件压缩包&#xff0c;并解压缩 2.谷歌浏览器添加插件 3.使用

Linux网络基础(协议 TCP/IP 网络传输基本流程 IP VS Mac Socket编程UDP)

文章目录 一.前言二.协议协议分层分层的好处 OSI七层模型TCP/IP五层(或四层)模型为什么要有TCP/IP协议TCP/IP协议与操作系统的关系(宏观上是如何实现的)什么是协议 三.网络传输基本流程局域网(以太网为例)通信原理MAC地址令牌环网 封装与解包分用 四.IP地址IP VS Mac地址 五.So…

Web开发:ORM框架之使用Freesql的导航属性

一、什么时候用导航属性 看数据库表的对应关系&#xff0c;一对多的时候用比较好&#xff0c;不用多写一个联表实体&#xff0c;而且查询高效 二、为实体配置导航属性 1.给关系是一的父表实体加上&#xff1a; [FreeSql.DataAnnotations.Navigate(nameof(子表.子表关联字段))]…

NLP07-朴素贝叶斯问句分类之数据集加载(1/3)

一、概述 数据集加载&#xff08;Dataset Loading&#xff09;是机器学习、自然语言处理&#xff08;NLP&#xff09;等领域中的一个重要步骤&#xff0c;指的是将外部数据&#xff08;如文件、数据库、网络接口等&#xff09;加载到程序中&#xff0c;以便进行后续处理、分析…