声明:本文借鉴https://blog.csdn.net/bigbennyguo/article/details/50755207 修改而来

前言

借鉴的文章是基于python2+pyqt4,本文是基于python3+pyqt5

环境

编辑器:Sublime Text3

操作系统:win10

Python3

所需要的库:主要是PyQT5,因为加了一点拓展功能,所以还有sqlite3,Image,pyinstaller

pip3 install pyqt5
pip3 install pyqt5-tools
pip3 install sqilte3
pip3 install Image
pip3 install pyinstaller

首先是pyqt5, 这个是我们的主要工具,用来做界面的,pyqt5-tools这个库主要是是在用QT Creator设计好界面之后,将ui文件转化为py文件;

sqlite3这个库可以安也可以不安,因为pyqt5里面有一个模块QtSql,它支持sqlite的操作;
Image这个库主要是用来处理一下图片资源,以及最后程序的图标的
pyinstaller 最后将程序转化为可执行的exe文件

加载资源文件

如果做出的这个程序,仅仅是在本机电脑上跑,而不是将它生成一个exe文件,那么没必要把资源文件重新转化。

回到上一节的那个问题,加载资源文件

import sys,sqlite3,os
from PyQt5.QtWidgets import *
from PyQt5.QtGui import QIcon, QFont
from PyQt5.QtCore import *
import images           #本地资源文件

class PasswordManagerSystem(QMainWindow):
    def __init__(self):
        super(PasswordManagerSystem, self).__init__()
        self.initToolbar()
        self.initDB()
        self.initGrid()
        #self.current_row = 0
        self.setGeometry(300, 300, 650, 300)
        self.setWindow (\'密码管理器\')
        self.setWindowIcon(QIcon(\':images/logo.jpg\'))#这个图片是从导入的images 得到的

    def initToolbar(self):
        newAction = QAction(QIcon(\':images/new.png\'), \'New Ctrl+N\', self)#这个图片是从导入的images 得到的
        editAction = QAction(QIcon(\':images/edit.png\'), \'Edit Ctrl+E\', self)#这个图片是从导入的images 得到的
        delAction = QAction(QIcon(\':images/del.png\'), \'Delete\', self)#这个图片是从导入的images 得到的
        backupAction = QAction(QIcon(\':images/backup.png\'), \'Backup Ctrl+B\', self)#这个图片是从导入的images 得到的

如果仅仅是导入本地图片,可以用下面的语句

newAction = QAction(QIcon(\'images/new.png\'), \'New Ctrl+N\', self)

这一句和前面的有什么不同呢? 这里的\'images/new.png\'是你自己本地文件的路径,并且用的时候,没有前面的冒号,也不用入images这个本地包

但是,话说回来,图片资源(未完待续。。。)

收藏 打印