pyqt5按钮打开文件

pyqt5按钮打开文件,第1张

[python] view plain copy

import sys

import os

from PyQt5.QtCore import *

from PyQt5.QtWidgets import *

class Notepad(QMainWindow):

def __init__(self):

super().__init__()

self.initUI()

def initUI(self):

openAction = QAction('Open', self)

openAction.setShortcut('Ctrl+O')

openAction.setStatusTip('Open a file')

openAction.triggered.connect(self.openFile)

closeAction = QAction('Close', self)

closeAction.setShortcut('Ctrl+Q')

closeAction.setStatusTip('Close Notepad')

closeAction.triggered.connect(self.close)

menubar = self.menuBar()

fileMenu = menubar.addMenu('&File')

fileMenu.addAction(openAction)

fileMenu.addAction(closeAction)

self.textEdit = QTextEdit(self)

self.textEdit.setFocus()

self.textEdit.setReadOnly(True)

self.resize(700, 800)

self.setWindowTitle('Notepad')

self.setCentralWidget(self.textEdit)

self.show()

def openFile(self):

filename, _ = QFileDialog.getOpenFileName(self, 'Open File', os.getenv('HOME'))

fh = ''

if QFile.exists(filename):

fh = QFile(filename)

if not fh.open(QFile.ReadOnly):

QtGui.qApp.quit()

data = fh.readAll()

codec = QTextCodec.codecForUtfText(data)

unistr = codec.toUnicode(data)

tmp = ('Notepad: %s' % filename)

self.setWindowTitle(tmp)

self.textEdit.setText(unistr)

def main():

app = QApplication(sys.argv)

notepad = Notepad()

sys.exit(app.exec_())

if __name__ == '__main__':

main()

使用Qt进行软件开发,不可避免要使用资源文件。本节我们做一个简单示例,通过使用Qt资源文件为应用程序及关闭按钮设置图标

根据前面我们所讲述的内容,先创建PyCharm工程项目,然后创建Qt工程项目,在Qt工程项目中设计界面并创建资源文件。

界面中我们只放置一个“关闭”按钮,所以在此不做具体的描述。下面,我们创建资源文件。

在Qt Creator中选择“File” ->"New File or Project...",然后选择“Qt”->"Qt Resource File",在File name中输入res,在项目中可以看到,我们创建了一个res.qrc资源文件。

在资源文件上右击,选择”Open in Editor“即可打开资源文件编辑器。

在资源文件中首先需要创建一个前缀,名称可以根据具体的资源进行命名,我们在此处命名为:icons;然后单击”Add Files“,选择事先准备好的图标文件添加进来。

在按钮的属性编辑器中找到icon属性,点击下拉菜单中的”Choose Resource...“,在对话框中选择对应的资源文件中的图标即可。

编译资源文件:

在PyCharm的工程项目中创建一个名为rcc.bat的批处理文件,其代码如下:

注意:编译资源文件时,生成的py文件名结尾必须是_rc,因为编译窗体文件后会产生如下语句:

编译窗体文件:

在PyCharm的工程项目中创建一个名为uic.bat的批处理文件,其代码如下:

运行以上两个批处理文件,可以看到编译后的py文件已经生成。

执行程序后可以看到,界面中的关闭按钮显示了我们在Qt Creator中设置的图标。

引入图标类:

在主程序中app = QApplication(sys.argv)语句后面增加设置图标的代码:

为”关闭“按钮添加单击事件代码:

运行程序即可看到应用程序的图标也可以显示了。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11591865.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存