品牌型号:联想拯救者R7000
系统:Windows 10专业版
软件版本:pyqt 5.15.11
如果使用Python做桌面应用开发,大多数项目都会使用PyQt5框架,该框架功能全面、兼容性强、界面开发效率高。我们使用该框架时可能会遇到两个问题,一是原生PyQt5按钮样式简单,默认矩形按钮,需要根据界面UI自定义按钮外观。二是开发完成的桌面工具,客户想要适配手机端使用,能不能在手机上运行呢?本文将为大家介绍PyQt5如何设置按钮形状,PyQt5可以在手机上运行吗的相关内容。
一、PyQt5如何设置按钮形状
PyQt5原生的QPushButton控件默认是直角矩形样式,样式比较单一,在定制化开发的项目中,显得界面样式单调。PyQt5可以通过QSS样式表、控件属性设置、遮罩裁剪三种核心方式来设置按钮形状,支持设置圆角、圆形、异形等多种需求,下面我就为大家介绍一下PyQt5设置按钮形状的步骤。
1、通过QSS样式表设置
这种方式并不需要复杂的代码,通过简单样式语句就能实现,也是开发中比较常用的方式。其中b-radius是控制按钮圆角的属性,通过调这个数值就能实现直角、圆角、圆形按钮。如果数值是0,就是直角按钮,设置为12px的效果如下图所示。如果需要使用全圆形按钮,需要通过setFixedSize()固定按钮宽高且保证宽高数值一致,再将b-radius设置为宽高的一半,避免圆形变形。

2、遮罩裁剪法
除了常规圆角、圆形按钮,在定制化项目中可能需要异形按钮样式,就可以采用遮罩裁剪法。通过QPainter绘制自定义形状路径,再调用setMask()方法对按钮进行裁剪,从而实现椭圆形、多边形、不规则弧度按钮等特殊样式。虽然代码复杂度略高,但样式比较自由,能满足可视化大屏的“特殊按钮”需求。

3、设置异形按钮
如果按钮需要“拟物”,例如计算器的按钮、或者图片查看器的“上一张”“下一张”按钮,就需要设置“图片按钮”,需要使用【setIcon()】方法设置图片,再通过QSS去除按钮默认边框和背景。

二、PyQt5可以在手机上运行吗
在实际项目开发中,客户可能需要适配移动端,例如基于PyQt5开发的数据统计软件,那么PyQt5代码,能不能移植到安卓或者iOS运行呢?

结论是,PyQt5原生不支持手机端,原生适配Windows、Mac、Linux桌面系统,但可通过第三方工具打包成APK,尝试在安卓手机上运行。对于小型临时项目,需要快速适配手机端,可以尝试使用BeeWare工具,将PyQt5项目打包为安卓APK,适配成本较低。

PyQt5打包移动端会有很多问题,例如手机屏幕尺寸不同,按钮、输入框等控件会出现错位。并且运行性能低,启动速度慢,占用手机内存较高。最后就是功能问题,手机摄像头、定位、等原生硬件无法使用,所以几乎不会有企业用PyQt开发安卓应用,可以尝试使用Android Qt,这是Qt官方原生安卓编译方案。

三、总结
以上就是PyQt5如何设置按钮形状,PyQt5可以在手机上运行吗的相关内容。本文为大家介绍了三种实现PyQt5设置按钮形状的方式,从简单的调整圆弧角度,到遮罩裁剪绘制特殊形状,以及设置图标按钮,基本能满足项目需求。PyQt5原生并不支持手机端,可以尝试使用BeeWare工具打包成安卓APK,或者使用Android Qt方案,希望对你有所帮助。