qt界面设计

article/2025/10/21 17:47:06

设计界面时大概可以分三步:

  1. 构造出需要的所有控件
  2. 通过布局管理器确定控件位置
  3. 通过样式表优化控件样式

1.布局管理器
在这里插入图片描述

1. QBoxLayoutQHBoxLayout    水平布局QVBoxLayout    垂直布局1)setStretch  设置部件的拉伸系数2)setSpacing  设置部件之间的距离3)setStretchFactor  设置布局管理器之间的拉伸系数4)addSpacing  添加固定空间到长方体布局末尾5)addStretch  添加可拉伸空间到长方体布局末尾6)setMargin  设置布局管理器与边界的距离2. QGridLayout    栅格布局:将空间划分成若干个行和列,并将子控件放置到划好的小空间中;1)setRowStretch  设置行比例系数2)setColumnStretch  设置列比例系数3)setSpacing  设置部件之间的距离4)addWidget重载版本可设置控件所占行数和列数3. QFormLayout    表格布局:将布局空间分为两列,左边一般放标签,右边放edit之类的部件;1)setLabelAlignment  设置标签对其方式2)addRow  添加表单项3)setRowWrapPolicy   设置标签和文本框的排列方式4. QStackedLayout 栈式布局:将一系列部件排列成堆叠的形式,每次只有顶部的部件可见;

2.样式表

样式表有三种构建方式:

  1. 在qt designer中设置
  2. 直接使用setstylesheet函数在工程中设置
  3. 将样式表写在.qss文件中再加载到工程中设置
    QFile qssFile(":/styleSheet.qss");
    if(qssFile.open(QFile::ReadOnly))
    {QString qss = qssFile.readAll();//qDebug()<<qss;this->setStyleSheet(qss);qssFile.close();
    }
    

使用qt帮助文档搜索qt style sheets可以查看样式表文档:

1.The Style Sheet Syntax:介绍Qt样式表怎么使用(语法)
2.Qt Designer Integration:介绍了如何在设计器中使用Qt样式表
3.CustomizingQt Widgets Using Style Sheets:介绍了部件样式盒模型
4.Qt Style Sheets Reference:样式表属性列表,包括可以使用样式表的空间、属性、属性对应的值、子控件、伪状态
5.Qt Style Sheets Examples:列出了常用部件使用样式表的例子以下就是对qt帮助文档的总结:1. 样式表基本语法为: 选择器::子控件:伪状态 {属性:值}      其中子控件和伪状态不是必须的,例如:QPushButton{color:red};多个选择器可以指定相同的声明,只需要使用逗号隔开,例如:QPushButton,QLineEdit,QComboBox{color:red}声明部分是一些属性:值对组成的列表,它们包含在大括号中,使用分号隔开。例如:QPushButton{color:red;background-color:white}2. 几种常用选择器1. 通用选择器*:匹配所有的控件,比如: *{color:red}2. 类型选择器: 匹配此类及其子类的实例,比如:QPushButton{color:red}3. 类选择器:匹配此类实例但不匹配其子类实例,比如:.QPushButton{color:red}4. ID选择器:匹配具有特定名字的此类实例,需要提前使用setObjectName函数起名字,例如:QPushButton#okButton{color:red}3. 子控件对一些复杂的部件修改样式,可能需要访问它们的子控件,例如QComboBox的下拉按钮,还有QSpinBox的向上和向下的箭头等。选择符可以包含子控件来对部件的特定子控件应用规则,例如:QComboBox::drop-down{image:url(dropdown.png)}
这样的规则可以改变所有的QComboBox部件的下拉按钮的样式。在Qt Style Sheets Reference关键字对应的帮助文档的List of Stylable Widgets一项中列出了所有
可以使用样式表来自定义样式的Qt部件,在List of Sub-Controls一项中列出了所有可用的子控件。4. 伪状态伪状态出现在选择符之后,用冒号隔离,例如:QPushButton:hover{color:white}这个规则表明当鼠标悬停在一个QPushButton部件上时才被应用。伪状态可以使用感叹号来表示否定,例如要当鼠标没有悬停在一个QRadioButton上时才应用规则,
那么这个规则可以写为:QRadioButton:!hover{color:red}伪状态还可以多个连用,达到逻辑与效果,例如当鼠标悬停在一个被选中的QCheckBox部件上时才应用规则,那么这个规则可以写为:QCheckBox:hover:checked{color:white}在Qt Style Sheets Reference关键字对应的帮助文档的List of Pseudo-States一项中列出了Qt支持的所有的伪状态。5. 解决冲突当多个样式规则用不同的值指定相同的属性时,就会出现冲突。比如以下样式表:QPushButton#okButton { color: gray }  				QPushButton { color: red }当遇到此类情况时,越具体的才会被应用,所以上面样式表指定名为oKButton的按钮字体为灰色

3.属性列表

1 background 背景    包括:颜色、图片、对其方式
2 border  边框      包括:颜色、图片、边角半径、风格、宽度
3 color 显示的文本的颜色
4 font 文本字体      包括:字体家族(新罗马等)、大小、风格
5 text-align        文本和图标在小部件内容中的对齐方式。
6 text-decoration        附加的文本效果(上划、下划线、删除线)
5 gridline-color   QTableView网格线的颜色
6 height 子控件高度    也可设置最大最小高度
7 width 子控件宽度      也可设置最大最小宽度
8 icon-size   部件中图标的宽度和高度
9 margin    框上下左右边缘的长度
10 opacity    部件透明度  0~255->透明~不透明
11 padding    部件填充  上下左右
12 image     在子控件的内容矩形中绘制的图像(比如QLineEdit的内容矩形)
13 image-position    在子控件的内容矩形中绘制的图像的对其位置阿里巴巴矢量图标库  https://www.iconfont.cn/

http://chatgpt.dhexx.cn/article/bVOhUC83.shtml

相关文章

QTDesigner简介

1、QTDesigner简介&#xff1a; 手写代码工作量大、代码结构容易搞得混乱。 设计工具&#xff1a;直观、高效&#xff0c;工作量小&#xff0c;方便调试。界面和逻辑分离后期好维护。 介绍&#xff1a;&#xff08;实现了视图和逻辑的分离&#xff0c;开发代码更容易分离&…

PyQt5:使用QT设计师设计界面

一. 界面设计 登录预览&#xff1a; 图1.1 设计界面 界面文件 可以在这里下载login.ui文件 资源文件 除了ui文件&#xff0c;有时候需要使用到资源&#xff1a; 图片资源 窗体图标(login.png): .qrc文件 可以在这里下载.qrc文件&#xff0c;文件内容如下&#xff1…

Python PyQt5 Qt Designer (Qt设计师)

PyQt5 Qt Designer (Qt设计师) 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/Rozol/article/details/87705426 PyQt5是对Qt所有类进行封装, Qt能开发的东西, PyQt都能开发. Qt是强大的GUI库之一, 用C开发, 并且跨平台. PyQt双许可证, 要么选择GPL(自由软…

Qt Designer简介

来源 http://www.python3.vip/tut/py/gui/qt_03/ 回顾 在前面的程序中&#xff0c;我们学习了怎么样用程序来把QT程序界面的 一个个窗口、控件创建出来 问题分析 QT程序界面的 一个个窗口、控件&#xff0c;就是像上面那样用相应的代码创建出来的。 但是&#xff0c;把你…

Unity资源打包(AssetBundle)

一、AssetBundle的定义和作用 定义&#xff1a; - 它是一个存在于硬盘上的文件。可以称之为压缩包。这个压缩包可以认为是一个文件夹&#xff0c;里面包含了多个文件。这些文件可以分为两类&#xff1a;serialized file 和 resource files。&#xff08;序列化文件和源文件&a…

游戏开发unity资源管理系列:unity不支持长路径;DirectoryNotFoundException: Could not find a part of the path ““

说明&#xff1a; 使用Addressables打包出现如下报错 DirectoryNotFoundException: Could not find a part of the path "" 打断点发现资源路径与目标路径字符串非空&#xff0c;但是仍然提示报错。Library\com.unity.addressables下ab资源打出&#xff0c;但是仍然报…

Unity资源包共享

unity最全材质球的资源包 unity家具包装设计资源包 unity游戏模型资源包 unity人物模型资源包 unity枪模型资源包 … … … 其中一部分 有需要的朋友下方评论留下邮箱号,我发给你们,文件太大无法上传

Unity资源替换工具,旧模型替换新模型,替换GUID,替换meta文件,文件丢失等问题

Unity资源替换工具,旧模型替换新模型,替换GUID,替换meta文件,文件丢失等问题 使用说明如何使用 使用说明 第一次写,不是很规范,好东西分享给大家,学点编辑器扩展好处多啊! 如何使用 这个小工具确实帮到我了,替我省了不少时间 直接上代码: using UnityEngine; using System.…

unity网络资源导入

1、找到需要导入的文件&#xff0c;这里导入fbx格式 2、打开unity界面&#xff0c;在Asset目录下创建文件夹FBX&#xff0c;将需要导入的fbx预制体或整个文件夹拖入创建的FBX文件夹下 3、选中需要的fbx预制体并拖至场景中 4、双击定位到当前物体 5、找到需要导入的贴图文件text…

Unity 查找资源引用

当我们想要查找某个资源的引用情况时&#xff0c;可以使用文末的工具类 使用方法 先将我们的工具类放到项目中&#xff0c;放在哪里都可以。选中要查找的资源&#xff0c;右键选中的资源(资源类型没有限制)&#xff0c;在弹出的选项中选择查找资源引用&#xff0c;如图一所示…

Unity资源管理——AssetBundle构建/打包

1、为资源设置 assetBundleName 和 assetBundleVariant。 可以在资源的 Inspector 上手动设置&#xff0c;也可以通过 AssetImporter 进行设置。 AssetImporter importer AssetImporter.GetAtPath(assetPath); importer.assetBundleName abName; importer.assetBundleVarian…

unity资源优化插件

转载 来自&#xff1a;http://blog.uwa4d.com/archives/Resource_Plugin.html 工欲善其事必先利其器。在Unity官网的Asset Store上有不少给力的资源插件&#xff0c;能帮助我们减少人力资源消耗的同时&#xff0c;更快更好地驾驭引擎。今天我们就从善用资源的角度&#xff0c;推…

Unity常见资源类型

资源工作流程 在Unity项目中有一个固定的文件夹—Assets文件夹。 Assets是放项目需要到的文件资源的&#xff0c;比如&#xff1a;图片文件、3D模型文件&#xff08;*.FBX格式&#xff09;、音频等。 资源文件是可能来自 Unity 外部创建的文件&#xff0c;例如 3D 模型、音频…

反编译apk获取unity资源流程分享

什么时候需要这样做? 遇到真机问题&#xff0c;如资源丢失检查&#xff0c;可能需要直接拆开对应的包来确认资源是否存在&#xff0c;打包是否没打进去。例如检查某个tdr表格是否没有打进包里面&#xff0c;或者检查包里某个资源版本是不是不对 看到其他做的很好的游戏&…

【Unity 资源分享】☀️ | Unity 华丽炫酷特效资源分享!万年魂环拿到手软,让你直达封号斗罗~

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/zhangay1998&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 呆呆敲代码的小Y 原创&#xff0c;首发于 CSDN&#x1f649;&#x1f4e2;未来很长&a…

unity资源释放(AssetBundle和Asset)

本节主要叙述下&#xff0c;资源的释放问题。 1、我们准备了下两个资源&#xff0c;并且要做打包处理。 代码的代码&#xff0c;很简陋&#xff0c;只是为了说明问题。代码如下&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine…

【Unity 资源分享】 | Unity 精品写实动物模型+全套动画 资源分享

&#x1f4e2;前言 &#x1f4a6;好久没有写分享Unity资源的文章了&#xff0c;最近也是收藏了挺多Unity相关的资源&#x1f4a6;所以就来写一篇文章分享几个资源包您喜欢&#x1f4a6;所以呢&#xff0c;这次小Y又从自己的乾坤袋里掏出了一个精品动物模型全套动画分享给大家使…

Unity资源热更-Addressables总结(一)

Addressables是Unity官方推出的用于资源热更的系统&#xff0c;可在Package Manager里面下载&#xff0c;我这里分两部分讲解&#xff0c;第一部分是操作入门&#xff0c;第二部分是代码编程以及注意事项 一、入门 选择合适的Addressables版本下载安装完成后&#xff0c;选择Gr…

Unity 资源商店无法登陆,提示链接失效 的解决办法

出现资源商店无法登陆问题&#xff0c;网络换一下&#xff0c;用自己的手机热点连网&#xff0c;就可以了。