Tkinter学习笔记(一):完成文件选择和保存对话框

简介: 关于如何使用Python的Tkinter库来创建文件选择和保存对话框的教程。

关键模块总结

  • 导入关键包tkinter
  • 打开文件:askopenfilename
  • 打开多个文件:askopenfilenames
  • 保存文件:asksaveasfilename

打开文件

def open_file():
    global file_path
    global file_text
    file_path = filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser('')))
    print('打开文件:', file_path)
    if file_path is not None:
        lb.config(text = "您选择的文件是:"+file_path)
        with open(file=file_path, mode='r+', encoding='utf-8') as file:
            file_text = file.read()
        text1.insert('insert', file_text)
AI 代码解读

保存文件

def save_file():
    global file_path
    global file_text
    file_path = filedialog.asksaveasfilename(title=u'保存文件')
    print('保存文件:', file_path)
    lb.config(text="您保存的文件是:" + file_path)
    file_text = text1.get('1.0', tk.END)
    if file_path is not None:
        with open(file=file_path, mode='a+', encoding='utf-8') as file:
            file.write(file_text)
        text1.delete('1.0', tk.END)
        dialog.Dialog(None, {'title': 'File Modified', 'text': '保存完成', 'bitmap': 'warning', 'default': 0,
                             'strings': ('OK', 'Cancle')})
        print('保存完成')
AI 代码解读

完整代码

# !# !/user/bin/env Python3
# -*- coding:utf-8 -*-
import tkinter as tk
from tkinter import filedialog, dialog, Label
import os

def open_file():
    global file_path
    global file_text
    file_path = filedialog.askopenfilename(title=u'选择文件', initialdir=(os.path.expanduser('')))
    print('打开文件:', file_path)
    if file_path is not None:
        lb.config(text = "您选择的文件是:"+file_path)
        with open(file=file_path, mode='r+', encoding='utf-8') as file: # 只读
            file_text = file.read()
        text1.insert('insert', file_text)

def save_file():
    global file_path
    global file_text
    file_path = filedialog.asksaveasfilename(title=u'保存文件')
    print('保存文件:', file_path)
    lb.config(text="您保存的文件是:" + file_path)
    file_text = text1.get('1.0', tk.END)
    if file_path is not None:
        with open(file=file_path, mode='a+', encoding='utf-8') as file: # 追加
            file.write(file_text)
        text1.delete('1.0', tk.END)
        dialog.Dialog(None, {'title': 'File Modified', 'text': '保存完成', 'bitmap': 'warning', 'default': 0,
                             'strings': ('OK', 'Cancle')})
        print('保存完成')

if __name__ == '__main__':
    window = tk.Tk()
    lb = Label(window,text = '')
    lb.pack()
    window.title('窗口标题')  # 标题
    window.geometry('500x500')  # 窗口尺寸
    text1 = tk.Text(window, width=50, height=10, bg='red', font=('Arial', 12))
    text1.pack()
    bt1 = tk.Button(window, text='打开文件', width=15, height=2, command=open_file)
    bt1.pack()
    bt2 = tk.Button(window, text='保存文件', width=15, height=2, command=save_file)
    bt2.pack()
    window.mainloop()  # 显示
AI 代码解读

运行效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目录
打赏
0
2
2
0
83
分享
相关文章
关于双击桌面上的IE图标却显示“打开方式”对话框的解决办法
关于双击桌面上的IE图标却显示“打开方式”对话框的解决办法
|
8月前
|
vue实现点击按钮将指定文字复制到系统剪切板并提示复制成功
vue实现点击按钮将指定文字复制到系统剪切板并提示复制成功
51 0
C# “文件选择对话框“ 和 “保存对话框“
C# “文件选择对话框“ 和 “保存对话框“
Qt二维码生成器+复制到剪贴板
Qt二维码生成器+复制到剪贴板
169 0
Qt二维码生成器+复制到剪贴板
Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用
tkinter是什么? 我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口; Tk是一个图形库,支持多个操作系统,使用Tcl语言开发; Tk会调用操作系统提供的本地GUI接口,完成最终的GUI;
1343 0
Python Tkinter Gui 窗口图标,标签,输入,单复选,文件导入,按钮,日志 等常用组件 基本使用
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
372 0
swing做一个简单的记事本(有菜单的样式、右键弹出菜单、以及实现“新建”和“打开”功能)
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
2522 0
PyQt5 技术篇-调用文件对话框获取文件、文件夹路径。文件对话框返回选中的多个文件路径
[ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框
[ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框 本文主要介绍PyQt界面实现中常用的消息弹出对话框、提供用户输入的输入框、打开文件获取文件/目录路径的文件对话框。
3636 0
如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”
、选择文件[XP操作系统,不能用于Win2000或98],使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框Set objDialog = CreateObject("UserAccounts.
1782 0
点击abap的选择屏幕工具栏按钮下载excel模板
自己编写一个report,分配了事务码以后,执行该事务码,在选择屏幕界面看到一个按钮,点击这个按钮,就可以将预先上传至sap服务器的excel文件下载到本地。服务器上的excel文件是预先通过事务码SMW0上传到SAP服务器系统的:选择包,然后执行,看看里面有什么如下图,就是目前SAP系统中存在的e.
2854 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等