想让chatGPT用python帮我做个简单的文件查找器,结果弄成这样

@TOC谁帮忙看看这个代码,显示的图片有些不正常,里面的框框太矮了,怎么调整让它能变高一些

代码如下:

import tkinter as tk
from tkinter import ttk, filedialog
import os

class App(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.create_widgets()
        
        self.grid_rowconfigure(0, weight=1)
        self.grid_rowconfigure(1, weight=1)
        self.grid_rowconfigure(2, weight=1)
        self.grid_rowconfigure(3, weight=1)
        self.grid_rowconfigure(4, weight=1)
        self.grid_columnconfigure(0, weight=1)

    def create_widgets(self):
        self.search_label = tk.Label(self, text="请输入要搜索的关键字:")
        self.search_label.pack()

        self.search_entry = tk.Entry(self)
        self.search_entry.pack()

        self.path_button = tk.Button(self, text="选择搜索位置", command=self.select_dir)
        self.path_button.pack()

        self.search_button = tk.Button(self, text="开始搜索", command=self.search)
        self.search_button.pack()

        self.result_tree = ttk.Treeview(self)
        self.result_tree['columns'] = ('size', 'modified_time')
        self.result_tree.heading('#0', text="文件路径")
        self.result_tree.column("#0", width=1000)
        self.result_tree.heading('size', text="文件大小")
        self.result_tree.column("size", width=100)
        self.result_tree.heading('modified_time', text="修改时间")
        self.result_tree.column("modified_time", width=200)
        self.result_tree.pack(fill=tk.BOTH, expand=True)

        self.scrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL, command=self.result_tree.yview)
        self.scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
        self.result_tree.configure(yscrollcommand=self.scrollbar.set)

        self.popup_menu = tk.Menu(self.result_tree, tearoff=0)
        self.popup_menu.add_command(label="打开", command=self.open_file)
        self.popup_menu.add_command(label="复制", command=self.copy_file)
        self.popup_menu.add_command(label="另存为", command=self.save_file_as)
        self.popup_menu.add_command(label="重命名", command=self.rename_file)
        self.popup_menu.add_command(label="删除", command=self.delete_file)

        self.result_tree.bind("<ButtonRelease-3>", self.show_popup_menu)

    def select_dir(self):
        self.dir_path = filedialog.askdirectory()
        self.search_path_label = tk.Label(self, text="当前搜索位置:" + self.dir_path)
        self.search_path_label.pack()

    def search(self):
        self.result_tree.delete(*self.result_tree.get_children())
        keyword = self.search_entry.get()
        if not self.dir_path:
            self.result_tree.insert("", "end", text="请先选择搜索位置!")
            return
        for dirpath, dirnames, filenames in os.walk(self.dir_path):
            for filename in filenames:
                if keyword in filename:
                    path = os.path.join(dirpath, filename)
                    size = os.path.getsize(path)
                    modified_time = os.path.getmtime(path)
                    item = self.result_tree.insert("", "end", text=path, values=(size, modified_time))
                    self.result_tree.item(item, open=True)

    def show_popup_menu(self, event):
        self.popup_menu.post(event.x_root, event.y_root)

    def open_file(self):
        selected_item = self.result_tree.focus()
        selected_text = self.result_tree.item(selected_item)['text']
        os.startfile(selected_text)

    def copy_file(self):
        selected_item = self.result_tree.focus()
        selected_text = self.result_tree.item(selected_item)['text']
        self.clipboard_clear()
        self.clipboard_append(selected_text)

    def save_file_as(self):
        selected_item = self.result_tree.focus()
        selected_text = self.result_tree.item(selected_item)['text']
        new_path = filedialog.asksaveasfilename()
        os.rename(selected_text, new_path)

    def rename_file(self):
        selected_item = self.result_tree.focus()
        selected_text = self.result_tree.item(selected_item)['text']
        new_name = filedialog.asksaveasfilename()
        os.rename(selected_text, new_name)

    def delete_file(self):
        selected_item = self.result_tree.focus()
        selected_text = self.result_tree.item(selected_item)['text']
        os.remove(selected_text)

root = tk.Tk()
app = App(master=root)
app.mainloop()

全屏时显示如下:
白色框框太小了
这种东西太不符合正常人的审美,谁帮提一下修改意见,上面的标签和输入框不在同一行,两个按钮不在同一行,尤其是里面的白色框框并没有随着最大化而最大化,该怎么修改代码?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值