- QMainWindow,QWidget,QDialog这三个类都是用于创建窗口的,可以直接使用,也可以继承后使用,并且在QtDesigner中可以选择这三种窗口类型
1、QMainWindow类
- 用于创建主窗口,可以为用户提供一个应用程序框架,并可以在其中设置自己的布局(Layout),并在布局中添加控件QWidget
2、QWidget类
- 用于创建基础的窗口控件,并且所有窗口/控件都直接或间接继承自QWidget类
3、QDialog类
- QDialog类提供了一系列标准的对话框,例如
1)QMessageBox:弹出式对话框,可以显示消息,如提示,警告,错误等
2)QInputDialog:可以输入数字,字符串等,具有一个文本框和2个按钮:OK/Cancel
3)QFileDialog:用于打开文件/保存文件的标准对话框,常用方法有:getOpenFileName:返回用户所选择文件的名称,并打开该文件
getSaveFileName:使用用户选择的文件名并保存文件
3.1、QFileDialog
- getOpenFileName的使用方法:
QFileDialog.getOpenFileName(self, caption, dir, filter, ...)
''
1) caption: 文件对话框的标题
2) dir: 文件的路径
3) filter: 过滤器,用于指定文件类型
返回:
name(str): 绝对路径
str: 文件的后缀名
例如:
name, _ = QFileDialog.getOpenFileName(self, "打开", file_dir, "Pic File(*.jpg, *.png)")
''
- 另一种使用方法:
dialog = QFileDialog()
dialog.SetFileMode(QFileDialog.AnyFile)
dialog.SetFilter(QDir.Files)
if dialog.exec():
names = dialog.SelectedFiles()
f = open(names[0], encoding="utf-8", mode='r')
with f:
data = f.read()
...