PYQT5中实现图片轮播,Qlabel点击相应图片显示原图
最近在用PYQT做GUI的开发,之前没有接触过,把自己遇到的问题记录下来,方便后续回顾,同时欢迎大家指正我的错误
问题及解决方法
1.设置窗体背景图片
1 | #方法一 似乎会将其他控件的背景图片一起改变 |
window下直接复制路径时是,记得改为/或者双\
2.固定窗口大小
背景图片如果不够大,不设置固定大小,点击全屏后,背景图片会是拼接铺满效果。
1 | MainWindow.setFixedSize(600, 383) |
效果如图:无法选择全屏
3.控件底色透明
刚开始在Qt designer中没有找到透明的选项,在转为py文件后自己加入。
1 | self.pushButton_image.setStyleSheet("background-color: transparent;\n" |
如果需要特定颜色,可以在Qt designer中的修改控件的stylesheet->Add Color->background-color,选择Pick Screen Color,自己用光标选择。
4.打开图片并显示在label
1 | def openimage(self, Form): |
要实现控件和窗体大小一起变化,窗体设置layout(qt designer中窗体右键设置)
总结
作为真小白,前期把界面和逻辑写在了一起,导致后续ui重新生成后,自己写的方法又要重新添加。自己折腾了半天,把两者分离开😓。如果有较多页面,还是界面逻辑分开吧。重新生成的文件里也只需要把信号和槽绑定起来。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Minty's Blog!