QTdesigner

Qt designer 在Python的简单使用(兼容C++)

1.下载Python及配置相关包
1.1下载最新版Python

官网下载:Welcome to Python.org

在这里插入图片描述

点击Download下的Python 3.9.5(版本号随时间会变)

在这里插入图片描述

跳转该页面后,下滑到最底层。

在这里插入图片描述

这里有很多安装版本,在Windows上,最好使用推荐版本,这个会附带一些工具如pip,setup等,不然新手寸步难行。因为我们只装Python,不使用传统意义上的集成平台,如Anaconda、visual studio等。

下载好了后,点击安装:

在这里插入图片描述

注意勾选图示选项,添加到系统环境变量里面后,就可以通过Power Shell工具直接操作了。

(这里用3.8版本做例子截图,因为已经装了3.9版本)

直接Install now即可,也可以客制化安装(Customize installation),区别不大。

安装过程可能安全软件可能提示dll文件被修改,直接全选允许程序全部操作(或类似选项),也许你会说关闭杀毒软件再安装,但是你应该明白,作为一个计算机学者,就要“与狼共舞”,这种话是小白的特权,毕竟哪个程序没有“BUG”呢?

在这里插入图片描述

搜索python,出来红线选项即可,说明安装成功。

打开Power Shell 工具,输入python:

在这里插入图片描述

出来如图所示信息,说明python已添加到系统路径中了,如果没有,搜索编辑系统环境变量:

在这里插入图片描述

在这里插入图片描述

点击环境变量:

在这里插入图片描述

找到Path,点击编辑:

在这里插入图片描述

点击新建,浏览,找到python安装根目录,确定,就可以。

(默认安转位置:C:\Users\(用户名)\AppData\Local\Programs)

在这里插入图片描述

打开之后,再打开用户名文件夹(非公用):

在这里插入图片描述

你会发现,没有AppData文件夹。。。。。。,这个时候要打开隐藏项目:

在这里插入图片描述

接下来按照之前的默认路径找下去就可以了。也可以直接直接搜索:

在这里插入图片描述

右键对应项直接打开文件位置,不过这里是快捷方式,再次右键打开文件位置就到了:

在这里插入图片描述

在这里插入图片描述

点击如图位置可以直接复制,之前的系统环境变量也支持直接复制路径。方法太多了,动脑子就可以了。

下面也可以直接点击开始栏,然后右键打开文件位置找到安转目录。

在这里插入图片描述

python安装就结束了,很简单,默认安转,什么都不用设置。

1.2安装一些有用的包

在这里插入图片描述

直接通过pip命令安转就可以了,实测,python3.9非常好使,老版本可能不行,什么镜像之类,或者去pypi官网下载再装等方法,这里就不说了,一般而言,非要使用老版本的人肯定有自己独门秘诀,下个包太简单了。

pip install 包名

上面命令行即可,当然还有诸多修饰符,如版本号等。但对新手来说这些不太重要,直接下就完了!

依次安转下列包:

pip install PyQt5

安装Qt的python支持包。

pip install pyqt5-tools

安转Qt的工具包

其他的包看情况吧,至少在简易ui处暂不需要,因为这个主要讲述UI的简单设计。

在这里插入图片描述

安转完成后搜索designer,顺利的话会出来designer.exe,不顺利的话,恭喜你要多找几步了。

在这里插入图片描述

打开python安装根目录,建议直接搜索designer.exe,因为这个文件随版本不同,所处的文件夹位置也不同。当前版本在Python39\Lib\site-packages\qt5_applications\Qt\bin中。

在这里插入图片描述

可以创建快捷方式到桌面,这样下次打开就快了。

2.designer简单使用
2.1常用的模块

在这里插入图片描述

这是新建的窗体:

(1)前三个是对话框

(2)MainWindow是常见的带有菜单区以及下边框说明区的窗体。

(3)Widget是单纯的窗口

在这里插入图片描述

很熟悉吧,绝大数应用是如此布局的。

在这里插入图片描述

点击右边的palette,可以有一个框体结构大概,这基本覆盖了绝大数可能的桌面操作。如果你看到那种非常炫酷的界面,一般制作复杂,作为编程爱好者,更多的精力应该花到代码和学习数学等知识上,UI界面点到即止。

关于这些模块内部的方法和函数,以及描述,应该看官方手册,以及百度搜索,这是学习能力的培养。

Qt官方函数介绍:All Classes | Qt 6.1

全英文,但是。。。。。。现在是2021年了,这种网页排版英文,有太多方法可以翻译了,没错,机翻质量差,所以加油!!!

下面我针对这个页面讲讲用到的东西:

在这里插入图片描述

2.2 Push Button

这是按钮,大概就是点击一下反馈一下,当然,它也有很多内部函数,可操作的空间很大。

在这里插入图片描述

上面是它的初始状态,我们主要修改styleSheet来改变它的外部特性,这个在程序里也是可以修改的,不过这里不管了。

在这里插入图片描述

右键该组件,选中“改变样式表”,这里面是CSS命令,是一种规范,具体格式网上找即可,因为挺多的,而且简单设计用不着那么多。

提供三个参考网址:

(1)QT之样式表(样式表规则以及使用大全) - 长脚的思想 - 博客园 (cnblogs.com)

(2)常用css样式属性大全(中文注释)_Stzyz_121314的博客-CSDN博客

(3)HTML+CSS属性样式汇总_ancientear的博客-CSDN博客_css样式属性大全

你可能会发现有些命令无效,有时候设置出问题。很正常,因为这就是编程。

QPushButton{
border:2px solid black;
border-radius:5px;
background:rgb(249,222,160);
color:rgb(0, 0, 0);
font: 12pt "楷体";
}
QPushButton:hover{
border:2px solid red;
border-radius:5px;
background:rgb(249,222,160);
color:rgb(0, 0, 0);
font: 12pt "楷体";
}
QPushButton:pressed{
border:2px solid red;
background:rgb(255, 205, 72);
border-radius:5px;
font: 12pt "楷体";
padding-left:9px;
padding-top:3px;
}

这是按钮的样式表,一次设计永久复制,没错,UI有套模板就好了,又不是商业程序,没必要多费力气,顶多看吐了换个颜色。

第一个是平常状态,设置了一下边界(border)的宽度、线类型、颜色,border-radius设置边界框为圆角矩形,挺好看的,background是背景颜色,使用Alpha通道即rgba(0,0,0,0)可以设置透明膜效果,当然,这是极具艺术性的工作,需要专业认识来干,包括对比色等,所以你跳了你喜欢的UI风格,模仿设计就好。

color是文字的颜色,font设置了文字大小和字体风格,Padding-方向:这个是边框偏移,实际效果是文字朝相反方向偏移,hover指鼠标移到按钮时的情况,pressed指鼠标按下的情况,如果你设计得合理,就可以营造出强烈的反馈效果。

在这里插入图片描述

这是平常显示效果。

在这里插入图片描述

鼠标移到按钮上的效果:

在这里插入图片描述

按下的效果(点击时,由于Padding的移动,会形成文字抖动效果)

按钮的效果是可以继续丰富下去的,比如加入动画特效,但这需要兴趣来驱动。

2.3 RadioButton、CheckBox、ToolButton、Command Link Button、Dialog Button Box

这些按钮是分化程度高的按钮,但是除了内部函数的差异外 ,外部的样式没有太多改变。

也就是说,在designer里面你纠结用哪个没有太大意义,根本还是阅读官方文档调用其内部方法、函数。

QCheckBox{
border:2px solid black;
border-radius:5px;
background:rgb(249,222,160);
color:rgb(0, 0, 0);
font: 12pt "楷体";
padding-left:6px;
}
QCheckBox:hover{
border:2px solid red;
border-radius:5px;
background:rgb(249,222,160);
color:rgb(0, 0, 0);
font: 12pt "楷体";
}
QCheckBox:pressed{
border:2px solid red;
background:rgb(255, 205, 72);
border-radius:5px;
font: 12pt "楷体";
padding-left:9px;
padding-top:3px;
}

这里以CheckBox为例, 和PushButton一样,设计几种效果,让边框和内部的图片文字处于合适的位置。

在这里插入图片描述

就这样,看起来舒服就可以了。实际上,它的样式可以发生很大的改变,这取决于艺术想象力,UI设计和逻辑代码已经分开,UI设计成什么样,和逻辑代码之间已经关联不大了。

2.3Progress Bar

进度条,这个是常用的,Chunk就表示是QprogressBar里的那个绿色部分-进度,可以加上动画效果,或者什么的,这里我只是设置成圆角,配合圆角外框。原版是自带动画效果的。如果你改了样式,那么效果就没了。

进度显示默认是百分比显示,根据你设置的最大最小值,在属性编辑器里,自动计算,但是还有其他情况,具体看官方文档,这是成长的必经之路。

在这里插入图片描述

2.4 widget

很常用的框,对,单纯的窗口,可以内嵌,也可以外开界面,它没有菜单栏等,显示起来简约大气。

在这里插入图片描述

在这里我把它用作照片框,照片是它的背景,电路图是扣出来的,自带透明,但是直接放在底片上,还是有些花眼,所以在它下面也放了一层半透明膜,即另一个Widget的背景设置为rgba格式,这样看起来就清晰了。

在这里插入图片描述

就和PPT的设计差不多,可以图层之间覆盖,营造合适的效果。里面的Widget没有边框,可能看不出来,外面有边框,这样可以明显看出。图片背景要把分辨率修裁合理,不然你就要在样式表里手动设置了。

长宽比例、图片修裁等之类看个人兴趣吧,这和编程无关。

在这里插入图片描述

这个空白是用来给Painter函数用的,这是个画图函数,具体看官方文档,在我看来,这才是最灵活的地方,因为它可由程序决定,你可以画出任何你想要的图形,这取决于你的想象力。它也是一个Widget,因为它支持Painter函数在它里面画图。

2.5 ICON

图标,这是大部分组件都带了的功能,这是个按钮,里面没有文字,但是放了个大图标,样式表设置为圆角矩形,这样就不想文字按钮那么枯燥了,但是图标本身需要设计。

在这里插入图片描述

在这里插入图片描述

2.6 Line Edit、Text Edit 等

这类是文本编辑器,Line Edit的内容获取简单,是主要使用的文本获取,但只能支持一行。

在这里插入图片描述

通过样式表操作,也可以变得漂亮起来。

在这里插入图片描述

这是Text Edit,似乎不能直接获取文本,但可以通过内部函数保存。

在属性表里可以设置只读(readonly)、换行(lineWrapMode)、空格长度(TabStopSize)等,具体功能还是得看官方文档。

2.7Spin Box、Double Spin Box等

这些是纯数字输入,在属性框里有最大值(maximum)、最小值(minimum)、小数点后有效位等,样式表同样可以改变外貌,在这里,我通过通过属性表里的ButtonSymbols去掉了上下拉箭头。

在这里插入图片描述

2.8 Vertical (Scroll)Slider、Horizontal (Scroll)Slider等

这些是线性的滑动条,刻度密集可通过属性编辑器改变。样式同样可以编辑,但是要先获得组件的名字。

在这里插入图片描述

2.9Label

最常见的文本框,可以把那些永远都不要改变的文字放在上边。

在这里插入图片描述

3.总结

3.1图片资源文件

Qt designer里面的背景图和图标要先放在资源文件里:

在这里插入图片描述

点击笔(资源浏览器在右下脚,如果没有,右键菜单栏调出来就行了)

在这里插入图片描述

先新建(1)一个资源文件,保存在合适的位置,然后打开(2)资源文件。

在这里插入图片描述

右边就是添加资源文件了,加完后点击Ok。

在这里插入图片描述

当你在样式栏点击添加资源的时候,就会跳到你的资源文件处了。

3.2 UI和逻辑代码是分开的

在这里插入图片描述

当你设计完UI后,给每一个对象都取上易识别的名字,在逻辑代码里只对对象操作,其他的一切Qt都帮你搞定了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c9UKocJM-1621932542049)(QTdesigner.assets/image-20210525163435008.png)]

窗体这里有预览,然后可以看代码。

在这里插入图片描述

代码可以直接保存,里面就是你设计的UI的内容,这些不用更改,只需像函数、变量等一样调用就好,所有的解释都在官方文档里。

如果不能看Python代码,可以在命令行里通过

pyuic5 -o name.py name.ui

生成Python文件,name对应你起的名字,两个name没有任何关联。

3.3没有介绍的模块

其实大部分模块都是随便介绍,为什么?

UI设计主要还是在美术方面,现在的Qt框架UI和逻辑分离了,不要在设计UI的时候考虑代码的事,所谓css命令,也是UI设计的辅助工具,一个模块的具体内涵,还是得在官方文档看。

3.4为什么看官方文档?

因为里面有全部的内容!!!

在这里插入图片描述
逻辑代码部分和运行将放在下篇文章上,这只是入门快乐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值