PyQt5的使用

PyQt的使用:
Qtdesigner的使用:
Qt的UI设计和Android的UI设计一般是一样的,可以用两种方法,一种所见即所得,另一种就是纯代码。所见即所得的方式设计简单的界面跟容易一些,
纯代码的话,可以设计出来非常精美的设计。
由于我用来是完成大作业,只要能够完成基本的功能就可以了,不用设计太复杂的界面。

Qtdesigner设计出来的UI界面需要命令才能转成python代码,
我的Qtdesigner是pyqt5,所以用的就是pyuic5
pyuic5  xxx.ui  -o  xxx.py 
这样就生成了python代码,你以为这样就能就能显示界面了,那可不是!还记得python是面向对象的吗?也就是有了类还得需要新建一个对象出来。
常见的做法是在另一个文件里,把刚才生成的代码当做一个包import进来。
from PyQt5 import QtWidgets  ,QtGui
from xianshi import Ui_MainWindow 
from PyQt5.QtWidgets import QFileDialog 
from PIL import Image
class MyWindow(QtWidgets.QMainWindow,Ui_MainWindow): 
    def __init__(self): 
        super(MyWindow,self).__init__() 
        self.setupUi(self)
        self.image=None
    def openimage(self):
   # 打开文件路径
   #设置文件扩展名过滤,注意用双分号间隔
        imgName,imgType= QFileDialog.getOpenFileName(self,
                                    "打开图片",
                                    "",
                                    " *.jpg;;*.png;;*.jpeg;;*.bmp;;All Files (*)")

        print(imgName)
        im=Image.open(imgName)
        self.image=imgName
        print(im.size)
        scene=QtWidgets.QGraphicsScene(self)
        pixmap=QtGui.QPixmap(imgName)
        #.scaled(im.size[1], im.size[1])
        item=QtWidgets.QGraphicsPixmapItem(pixmap)
        scene.addItem(item)

        #png = QtGui.QPixmap(imgName).scaled(im.size[1], im.size[1])
        #self.graphicsView.scale(im.size[1], im.size[1])
        self.graphicsView.setScene(scene)
        #利用graphicsView显示图片

    def processing(self):
        print(self.image)
        scene=QtWidgets.QGraphicsScene(self)
        pixmap=QtGui.QPixmap(self.image)
        #.scaled(im.size[1], im.size[1])
        item=QtWidgets.QGraphicsPixmapItem(pixmap)
        scene.addItem(item)

        #png = QtGui.QPixmap(imgName).scaled(im.size[1], im.size[1])
        #self.graphicsView.scale(im.size[1], im.size[1])
        self.graphicsView_2.setScene(scene)
        #利用graphicsView显示图片   

if __name__=="__main__": 
    import sys 

    app=QtWidgets.QApplication(sys.argv) 
    myshow=MyWindow() 
    myshow.show() 
    sys.exit(app.exec_()) 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值