小编给大家分享一下pyqt如何实现在Widgets中显示图片和文字,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
思路非常简单:<p>创建window,设置窗口大小,创建label1,导入图片,创建label2,导入文字,show,结束!</p>
import sys from PyQt5 import QtWidgets,QtGui #定义窗口函数window def window(): #我事实上不太明白干嘛要这一句话,只是pyqt窗口的建立都必须调用QApplication方法 app=QtWidgets.QApplication(sys.argv) #新建一个窗口,名字叫做w w=QtWidgets.QWidget() #定义w的大小 w.setGeometry(100,100,300,200) #给w一个Title w.setWindowTitle('lesson 2') #在窗口w中,新建一个lable,名字叫做l1 l1=QtWidgets.QLabel(w) #调用QtGui.QPixmap方法,打开一个图片,存放在变量png中 png=QtGui.QPixmap('/home/capture/Pictures/Selection_026.png') # 在l1里面,调用setPixmap命令,建立一个图像存放框,并将之前的图像png存放在这个框框里。 l1.setPixmap(png) #在窗口w中,新建另一个label,名字叫做l2 l2=QtWidgets.QLabel(w) #用open方法打开一个文本文件,并且调用read命令,将其内容读入到file_text中 file=open('/home/capture/eric6_test/auto_k2_all/test1.log') file_text=file.read() #调用setText命令,在l2中显示刚才的内容 l2.setText(file_text) #调整l1和l2的位置 l1.move(100,20) l2.move(140,120) #显示整个窗口 w.show() #退出整个app app.exit(app.exec_()) #调用window这个函数 window()
不过,这样写的目的是什么,弄一个函数,来生成一个图像,没有参数可以输入?还不如不用函数呢。所以,我改了一下。
import sys from PyQt5 import QtWidgets,QtGui #定义窗口函数window def window(png,file_text): #新建一个窗口,名字叫做w w=QtWidgets.QWidget() #定义w的大小 w.setGeometry(100,100,300,200) #给w一个Title w.setWindowTitle('lesson 2') #在窗口w中,新建一个lable,名字叫做l1 l1=QtWidgets.QLabel(w) #调用QtGui.QPixmap方法,打开一个图片,存放在变量png中 # 在l1里面,调用setPixmap命令,建立一个图像存放框,并将之前的图像png存放在这个框框里。 l1.setPixmap(png) #在窗口w中,新建另一个label,名字叫做l2 l2=QtWidgets.QLabel(w) #用open方法打开一个文本文件,并且调用read命令,将其内容读入到file_text中 #调用setText命令,在l2中显示刚才的内容 l2.setText(file_text) #调整l1和l2的位置 l1.move(100,20) l2.move(140,120) #显示整个窗口 w.show() #退出函数,很奇怪,没有这个还不行 sys.exit(app.exec_()) #调用window这个函数 if __name__ == '__main__': #我事实上不太明白干嘛要这一句话,只是pyqt窗口的建立都必须调用QApplication方法 app = QtWidgets.QApplication(sys.argv) #图片和文件,各打开一个 Png=QtGui.QPixmap('/home/capture/Pictures/Selection_026.png') File = open('/home/capture/eric6_test/auto_k2_all/test1.log') File_text = File.read() #把图片和文本传递给函数window window(Png,File_text) #退出 app.exit(app.exec_())
以上是“pyqt如何实现在Widgets中显示图片和文字”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。