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

前提:

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

python切换文字与图片

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

1.1新建窗体

利用qtdesigner完成文字与图片切换_第1张图片

选择WIdget,点击创建。

1.2拖入组件

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

利用qtdesigner完成文字与图片切换_第2张图片

1.3进行布局

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

利用qtdesigner完成文字与图片切换_第3张图片

完成后:

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

利用qtdesigner完成文字与图片切换_第4张图片

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

利用qtdesigner完成文字与图片切换_第5张图片

1.4添加文字及图片

双击即可修改文字

利用qtdesigner完成文字与图片切换_第6张图片

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

利用qtdesigner完成文字与图片切换_第7张图片

利用qtdesigner完成文字与图片切换_第8张图片

插入成功!

利用qtdesigner完成文字与图片切换_第9张图片

1.5修改对象名

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

利用qtdesigner完成文字与图片切换_第10张图片

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

利用qtdesigner完成文字与图片切换_第11张图片

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

你可能感兴趣的:(python前端界面,ui,javascript,前端,1024程序员节)