利用qtdesigner完成文字与图片切换

前提:

之前使用qtdesigner时总对信号/槽产生困惑,不太明白它的使用方式,后来不单纯弄界面了,同事要求还要搞一些动作,比如:文字图片切换、文字变换、利用键盘输入使界面变化等等,逐渐掌握了信号/槽的用法。下面就用一个小例子来说明下它的用法

python切换文字与图片

1.创建ui文件(cutshow.ui)

1.1新建窗体

选择WIdget,点击创建。

1.2拖入组件

需要拖入:2个radiobutton(进行选择)、1个stacked widget(用来显示)、2个label。Label需拖到stacked widget中,另一个点stacked widget上的黑箭头拖入进去。

1.3进行布局

按住ctrl,选择两个radiobutton组件,点击右键选择“布局”--->“垂直布局”

完成后:

在对象查看器中找到对象“Form”,点击右键选择“布局”--->“水平布局”

这样一个简单的布局就完成了。

1.4添加文字及图片

双击即可修改文字

选中打算插入图片的label,在属性编辑器中找到pixmap,选择文件。

插入成功!

1.5修改对象名

为了之后使用的方便,建议修改对象名。修改方法:双击对象名即可

2.创建py文件(main.py)

2.1新建文件并引用ui文件

引用部分详见我的另一篇文章:

https://blog.csdn.net/qq_44878999/article/details/127245501

2.2加入信号/槽

最终代码为:


from PySide2.QtUiTools import QUiLoader
from PySide2.QtWidgets import QApplication



class Cutshow:

    def __init__(self):
        self.ui = QUiLoader().load("cutshow.ui")
# 信号/槽的使用
        self.ui.btnpic.clicked.connect(self.showpic)
        self.ui.btntext.clicked.connect(self.showtext)
# 修改 stacked widget组件的当前显示页
    def showpic(self):
        self.ui.stacked.setCurrentIndex(1)

    def showtext(self):
        self.ui.stacked.setCurrentIndex(0)


if __name__ == "__main__":
    # 固定的,PyQt5程序都需要QApplication对象。sys.argv是命令行参数列表,确保程序可以双击运行
    app = QApplication()
    # 设置窗口图标
    # 初始化
    myWin = Cutshow()
    # 将窗口控件显示在屏幕上
    myWin.ui.show()
    # 程序运行,sys.exit方法确保程序完整退出。
    app.exec_()

3.总结

self.ui.btnpic.clicked.connect(self.showpic)

主要就是使用这一个,可以转到任何想要实现的函数上。

发送对象.动作.connect(调用函数)

发送对象的类一定要找好。

4.分享查找qtAPI的网站

如果不清楚对象的属性,可以去这个网站上面搜,可以给你很多的灵感。

http://pyside.digitser.net/5.15/zh-CN/index.html

以上就是本文章全部内容,如果不对的地方,欢迎指正~ 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值