鱼C论坛

 找回密码
 立即注册
查看: 5391|回复: 9

pyQT5的界面风格

[复制链接]
发表于 2017-5-8 16:49:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
之前发了一个提问帖子,关于pyqt5的,居然没有一个人回复
论坛难道没有人在使用这个模块么?
周末2天花了点时间研究了一下pyqt5,跟之前用过的tkinter相比,简直不要太好用
于是把之前写的2个爬虫做成了有界面的程序
但是感觉界面有点中规中矩,标准的windows风格
我知道改变界面可以通过QSS,我也试着改了一些背景和字体边框等等,但是都是尝试,所以感觉风格不是很搭
我希望把界面改变得跟WIN10的磁铁效果,很扁平的风格,不知道有没有会的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-5-8 17:19:41 From FishC Mobile | 显示全部楼层
说实话,做界面的话用python真的很蛋疼,没有设计界面是硬伤,aauto会的话,可以和python结合
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-8 17:28:02 | 显示全部楼层
jerryxjr1220 发表于 2017-5-8 17:19
说实话,做界面的话用python真的很蛋疼,没有设计界面是硬伤,aauto会的话,可以和python结合


不是,pyqt5的designer很好用,我才操作了一次就直接能上手了,控件的添加和排版用这个很方便,后期的界面风格应该是所有的UI设计软件都需要单独去设计的,我只制动啊QSS是借鉴CSS的语法规则,但是由于不熟悉这一块,所以想听听有这方面经验的人给点意见,减少我查询资料的时间
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-8 17:59:53 From FishC Mobile | 显示全部楼层
gopythoner 发表于 2017-5-8 17:28
不是,pyqt5的designer很好用,我才操作了一次就直接能上手了,控件的添加和排版用这个很方便,后期的 ...

designer设计好的界面是.ui格式吧?python调用还是要转换的?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-8 18:04:31 | 显示全部楼层
jerryxjr1220 发表于 2017-5-8 17:59
designer设计好的界面是.ui格式吧?python调用还是要转换的?

这个转换成PY代码就是一句命令的问题,转换之后按照python的写法添加一些东西就可以直接用了,很方便
我昨天随手就搞了个300行代码的程序,要是手打,基本没得玩,因为我周五才开始学pyqt5,控件都搞不清楚,完全手写代码不现实
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-8 19:34:22 From FishC Mobile | 显示全部楼层
gopythoner 发表于 2017-5-8 18:04
这个转换成PY代码就是一句命令的问题,转换之后按照python的写法添加一些东西就可以直接用了,很方便
我 ...

designer没用过,之前用了QTcreater感觉还是不太方便
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-9 11:40:21 | 显示全部楼层
QT的界面风格默认应该是跟着系统来的。
win10下运行默认应该就是win10的风格。xp下运行就是xp的风格。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-5-9 11:55:06 | 显示全部楼层
wei_Y 发表于 2017-5-9 11:40
QT的界面风格默认应该是跟着系统来的。
win10下运行默认应该就是win10的风格。xp下运行就是xp的风格。

风格是WIN的风格,很普通的那种,我希望控件的风格更扁平化一些
比如按钮像动态磁贴一样,这些都要通过QSS去设置style
我看过你那个QSS的介绍,起初也是看你的这个然后去翻官网文档的,不过我发现官方文档其实也说的很简单,就是调调颜色背景和边框,很多我从CSS复制过来的样式根本用不了
其实我一直遇到一个问题解决不了,那就是TextEdit这个多行输入框里面的行距我设置不了
我看CSS是用的line-height来设置的,但是我用这个设置不了,默认的行高太小了,看起来很密集
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-5-9 16:01:55 | 显示全部楼层
本帖最后由 wei_Y 于 2017-5-9 16:04 编辑
gopythoner 发表于 2017-5-9 11:55
风格是WIN的风格,很普通的那种,我希望控件的风格更扁平化一些
比如按钮像动态磁贴一样,这些都要通过Q ...


QSS相对CSS3较简陋,QSS目前能控制的应该大部分都是 皮肤。颜色边框之类的。
像是行距,应该查下TextEdit的文档介绍。


QTextBlockFormat 这个类提供行间距的接口。(谷歌来的。。)
新建一个QTextBlockFormat,
textBlockFormat = QTextBlockFormat()
然后设置一个行间距。
setLineHeight 具体这个函数怎么用你还是看看文档吧。
http://doc.qt.io/qt-5/qtextblockformat.html#setLineHeight
获取到textEdit的cursor。
cursor = textEdit.cursor()
然后给cursor设置blockFormat.
cursor.setBlockFormat(textBlockFormat)

然后给textEdit设置这个cursor。
textEdit.setTextCursor(cursor)

没有测试。。


快速开发学下QML吧,QML做好看的界面比QWidget简单。QML也可以和QWidget结合一起开发。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-15 11:57:37 | 显示全部楼层
jerryxjr1220 发表于 2017-5-8 17:19
说实话,做界面的话用python真的很蛋疼,没有设计界面是硬伤,aauto会的话,可以和python结合

请问大佬 这个如何结合啊  我也想用那个 我不知道怎么扩展python  求指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 00:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表