- 打开文件
主要内容 #
完成效果 #
本节课程是简化版Excel的第二节,完成本节课程,能实现关联打开动作的信号到槽函数,来打开指定路径的文件。

收获 #
学习完本节内容,我们会知道如何将打开动作的信号关联到槽函数,由槽函数执行打开文件的功能,并在状态栏更新当前状态。
1.打开文件 #
事先已经在文件夹中创建好了Example3.xlsx文件,里面是学生信息,.xlsx文件可以用Excel打开。
在本例中,当用户点击打开动作后,弹出打开文件对话框,选择打开Example3.xlsx。
打开文件对话框弹出时,状态栏会显示正在打开文件。打开文件对话框关闭后,状态栏会显示文件已成功打开。
以下就是本例代码:
from PyQt5.QtWidgets import QMainWindow, QWidget, QAction, QFileDialog, QHeaderView, QApplication, QTableView, \
QMessageBox
from PyQt5.QtGui import QStandardItemModel, QStandardItem, QIcon
from PyQt5.QtCore import Qt
import sys
import pandas as pd
class Example(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.statusBar().showMessage("Ready") # 添加状态栏
openAct = QAction(QIcon("D:\\Python_Tips\\Dashima\\pics\\open.png"), "打开", self) # 添加打开动作,并设置图标
saveAct = QAction(QIcon("D:\\Python_Tips\\Dashima\\pics\\save.png"), "保存", self) # 添加保存动作,并设置图标
openAct.triggered.connect(self.openfile) # 点击打开动作触发triggered信号,连接到槽函数openfile
menubar = self.menuBar() # 添加菜单栏
fileMenu = menubar.addMenu("文件") # 添加文件菜单
fileMenu.addAction(openAct) # 将打开动作添加到文件菜单
fileMenu.addAction(saveAct) # 将保存动作添加到文件菜单
self.toolbar = self.addToolBar("工具栏") # 添加工具栏
self.toolbar.addAction(openAct) # 将打开动作添加到工具栏
self.toolbar.addAction(saveAct) # 将保存动作添加到工具栏
self.setGeometry(300, 300, 500, 400)
self.setWindowTitle("简化版Excel")
self.show()
def openfile(self): # 槽函数, 用来打开文件
self.statusBar().showMessage("正在打开文件") # 更新状态栏信息
filepath = "D:\\Python_Tips\\Dashima\\pics" # 设置打开文件路径
filename, filetype = QFileDialog.getOpenFileName(
self, "打开文件", filepath, "XLSX (*.xlsx *.XLSX)"
) # 弹出打开文件对话框,只选择Excel的xlsx文件
self.statusBar().showMessage("文件已成功打开") # 更新状态栏信息
app = QApplication(sys.argv) # 创建应用程序
ex = Example() # 创建窗口对象
sys.exit(app.exec_()) # 设置关闭窗口后结束进程
拓展练习:尝试分别点击菜单栏和工具栏中的打开动作。
小结 #
习题 #
- 习题1:尝试修改槽函数内,状态栏更新的信息内容。