Hướng dẫn how to open another python file in tkinter - cách mở tệp python khác trong tkinter

Two additions to your code may give the expected result.

os.system expects a "command" for the operating system:

Execute the command [a string] in a subshell.

like python3 myscript.py.

However, since you are using a custom python programming environment, pass the path of the EduPython's python.exe to os.system:

from tkinter import *
import tkinter.filedialog
import os
import sys

root = Tk[]
pyexec = sys.executable

def open[]:
    PathPy = tkinter.filedialog.askopenfilename[title="Open a file",filetypes=[['PYTHON file','.py']]]
    os.system['%s %s' % [pyexec, PathPy]]

B = Button[root, text="Open a file", command=open].pack[]
root.mainloop[]

Second, add the last line root2.mainloop[] to your second script to make the second Tk window appear.

Hope this helps.

Trong hướng dẫn sau đây, chúng tôi sẽ tìm hiểu cách xây dựng một trình khám phá tệp dựa trên GUI với sự trợ giúp của các mô-đun Tkinter, OS và Shutil của ngôn ngữ lập trình Python. Dự án này phù hợp cho người mới bắt đầu, và tất cả những gì chúng ta cần là một số kiến ​​thức ngắn gọn liên quan đến tất cả các thư viện. Chúng tôi sẽ có thể áp dụng chúng trong cuộc sống thực với dự án này.

Vì vậy, hãy bắt đầu.

Trình khám phá tệp là gì?

Trình khám phá tệp hoặc trình quản lý tệp là một ứng dụng cho phép người dùng quản lý các tệp và thư mục trên thiết bị. Ứng dụng Trình quản lý tệp cho phép người dùng xem, chỉnh sửa, sao chép, xóa hoặc di chuyển các tệp và thư mục. Người dùng cũng có thể quản lý các tệp và thư mục trên các đĩa đính kèm cũng như lưu trữ được nối mạng.

Dự án điều kiện tiên quyết

Để bắt đầu xây dựng dự án File Explorer dựa trên GUI ở Python, chúng tôi sẽ yêu cầu các thư viện sau.

  1. Tkinter - Thư viện này sẽ cho phép chúng tôi tạo cửa sổ GUI. This library will allow us to create the GUI window.
  2. HĐH - Thư viện này sẽ cho phép chúng tôi thực hiện các hoạt động khác nhau trên một tệp và đường dẫn của nó. This library will allow us to perform different operations on a file and its path.
  3. Shutil - Thư viện này sẽ cho phép chúng tôi sao chép hoặc di chuyển một tệp. This library will allow us to copy or move a file.

Vì tất cả các thư viện này được cài đặt sẵn với Python, nên chúng tôi không cần phải cài đặt chúng một cách riêng biệt.

Xây dựng tệp Explorer bằng Tkinter trong Python

Quy trình xây dựng tệp Explorer trong Python được chia thành một số bước để hiểu rõ hơn. Các bước chúng tôi sẽ cần thực hiện như sau:

Bước 1: Chúng tôi sẽ bắt đầu bằng cách nhập các mô -đun cần thiết. We will start by importing the required modules.

Bước 2: Sau đó, chúng tôi sẽ xác định các chức năng để thực hiện các hoạt động khác nhau trong ứng dụng. We will then define the functions to execute different operations in the application.

Bước 3: Sau đó, chúng tôi sẽ tạo một cửa sổ chính cho ứng dụng. We will then create a main window for the application.

Bước 4: Chúng tôi sẽ thêm các widget vào cửa sổ và đặt các kích hoạt sự kiện. We will add widgets to the window and set the event triggers.

Bây giờ chúng tôi hiểu các bước này một cách chi tiết.

Nhập các mô -đun cần thiết

Thứ nhất, chúng tôi sẽ nhập tất cả các mô -đun cần thiết cho dự án. Các mô -đun này bao gồm tất cả các mô -đun và tiện ích từ thư viện Tkinter, mô -đun HĐH và mô -đun Shutil.

Bây giờ chúng ta hãy xem xét đoạn mã sau này minh họa việc thực hiện giống nhau.

Tệp: fileexplorer.py

Explanation:

Chúng tôi đã nhập tất cả các mô -đun và tiện ích từ thư viện Tkinter trong đoạn mã trên. Chúng tôi cũng đã nhập mô -đun MessageBox từ thư viện Tkinter dưới dạng mô -đun MB và FileDialog dưới dạng FD. Mô -đun MessageBox là một bản tổng hợp các hàm hiển thị các loại tin nhắn khác nhau với các biểu tượng khác nhau. Mô -đun FileDialog là một bản tổng hợp các hàm hộp thoại mở và lưu. Cuối cùng, sau đó chúng tôi đã nhập mô -đun HĐH và mô -đun Shutil.messagebox module from the Tkinter library as mb and filedialog module as fd. The messagebox module is a compilation of functions that display various kinds of messages with different icons. The filedialog module is a compilation of open and saves dialog functions. At last, we have then imported the os module and the shutil module.

Xác định các chức năng cần thiết để thực hiện các hoạt động trong ứng dụng

Khi tất cả các mô -đun cần thiết được nhập, đã đến lúc chúng tôi xác định các chức năng khác nhau để thực hiện các hoạt động nhất định trong ứng dụng. Chúng tôi sẽ xác định các chức năng để mở tệp, sao chép tệp, xóa tệp, đổi tên tệp, mở thư mục, xóa thư mục, di chuyển thư mục và liệt kê tất cả các tệp có trong thư mục.

Bây giờ chúng ta hãy xem xét các đoạn mã sau đây và hiểu việc thực hiện tất cả các chức năng này.

Mở một tập tin

Hàm đầu tiên chúng tôi xác định sẽ cho phép chúng tôi mở bất kỳ tệp đã chọn nào. Chúng tôi sẽ sử dụng phương thức AskOpenFileName [] của mô -đun FileDialog của Tkinter để chọn một tệp. Sau đó, chúng tôi sẽ sử dụng phương thức startFile [] của mô -đun HĐH để mở tệp đã chọn.askopenfilename[] method of the Tkinter's filedialog module to select a file. We will then use the startfile[] method of the os module to open the selected file.

Sau đây là đoạn mã thể hiện giống nhau.

Tệp: fileexplorer.py

Explanation:

Chúng tôi đã nhập tất cả các mô -đun và tiện ích từ thư viện Tkinter trong đoạn mã trên. Chúng tôi cũng đã nhập mô -đun MessageBox từ thư viện Tkinter dưới dạng mô -đun MB và FileDialog dưới dạng FD. Mô -đun MessageBox là một bản tổng hợp các hàm hiển thị các loại tin nhắn khác nhau với các biểu tượng khác nhau. Mô -đun FileDialog là một bản tổng hợp các hàm hộp thoại mở và lưu. Cuối cùng, sau đó chúng tôi đã nhập mô -đun HĐH và mô -đun Shutil.openFile[]. Within this function, we have selected a file with the help of the filedialog's askopenfilename[] method. We have then used the startfile[] method of the os module to open the selected file. We have also used the abspath[] method on the selected file to normalize the version of the file path.

Sao chép một tập tin

Bây giờ chúng tôi sẽ xác định một chức năng khác để sao chép một tệp vào một thư mục. Chúng tôi sẽ bắt đầu bằng cách chọn tệp để sao chép và đích để dán nó. Sau đó, chúng tôi sẽ sử dụng phương thức Copy [] của mô -đun Shutil và trả về hộp thông báo hiển thị thông báo thành công.copy[] method of the shutil module and return a message box displaying the success message.

Chúng ta hãy xem xét đoạn mã sau đây thể hiện như vậy.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là copyfile []. Trong hàm này, chúng tôi đã sử dụng phương thức AskOpenFileName [] của mô -đun FileDialog và chọn tệp để sao chép. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] để chọn thư mục nơi chúng tôi sẽ dán tệp đã chọn. Sau đó, chúng tôi đã sử dụng phương thức Excet Try-Except và phương thức COPY [] của mô-đun Shutil để dán tệp đã chọn vào thư mục mong muốn. Chúng tôi cũng đã hiển thị hộp thông báo hiển thị thông báo cho hoạt động thành công bằng phương thức showInfo [] hoặc hoạt động không thành công bằng phương thức sellowRor [] của mô -đun hộp thư.copyFile[]. Within this function, we have used the askopenfilename[] method of the filedialog module and selected the file to copy. We have then used the askdirectory[] method to select the directory where we will paste the selected file. We then used the try-except method and the copy[] method of the shutil module to paste the selected file to the desired directory. We have also displayed the message box showing the message for the successful operation using the showinfo[] method or failed operation using the showerror[] method of the messagebox module.

Xóa một tập tin

Bây giờ chúng tôi sẽ xác định một chức năng để xóa một tệp khỏi thư mục. Chúng tôi sẽ bắt đầu bằng cách chọn tệp từ thư mục. Sau đó, chúng tôi sẽ xóa tệp đó bằng phương thức Remove [] do mô -đun HĐH cung cấp và hiển thị hộp thông báo hiển thị thông báo thành công.remove[] method provided by the os module and display a message box showing a success message.

Bây giờ chúng ta hãy xem xét việc thực hiện giống nhau trong đoạn mã sau.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là copyfile []. Trong hàm này, chúng tôi đã sử dụng phương thức AskOpenFileName [] của mô -đun FileDialog và chọn tệp để sao chép. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] để chọn thư mục nơi chúng tôi sẽ dán tệp đã chọn. Sau đó, chúng tôi đã sử dụng phương thức Excet Try-Except và phương thức COPY [] của mô-đun Shutil để dán tệp đã chọn vào thư mục mong muốn. Chúng tôi cũng đã hiển thị hộp thông báo hiển thị thông báo cho hoạt động thành công bằng phương thức showInfo [] hoặc hoạt động không thành công bằng phương thức sellowRor [] của mô -đun hộp thư.deleteFile[]. Within this function, we have used the filedialog's askopenfilename[] method to select the file from the directory. We have then used the remove[] method of the os module to delete the selected file. We have then used the showinfo[] method of the messagebox module to display a success message.

Xóa một tập tin

Bây giờ chúng tôi sẽ xác định một chức năng để xóa một tệp khỏi thư mục. Chúng tôi sẽ bắt đầu bằng cách chọn tệp từ thư mục. Sau đó, chúng tôi sẽ xóa tệp đó bằng phương thức Remove [] do mô -đun HĐH cung cấp và hiển thị hộp thông báo hiển thị thông báo thành công.

Bây giờ chúng ta hãy xem xét việc thực hiện giống nhau trong đoạn mã sau.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là copyfile []. Trong hàm này, chúng tôi đã sử dụng phương thức AskOpenFileName [] của mô -đun FileDialog và chọn tệp để sao chép. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] để chọn thư mục nơi chúng tôi sẽ dán tệp đã chọn. Sau đó, chúng tôi đã sử dụng phương thức Excet Try-Except và phương thức COPY [] của mô-đun Shutil để dán tệp đã chọn vào thư mục mong muốn. Chúng tôi cũng đã hiển thị hộp thông báo hiển thị thông báo cho hoạt động thành công bằng phương thức showInfo [] hoặc hoạt động không thành công bằng phương thức sellowRor [] của mô -đun hộp thư.renameFile[]. Within this function, we have created a pop-up window using the Toplevel[] class, specifying its parameter as win_root, the application's main window. We have then set the title, size, and position of the window. We have also disabled the resizable option of better UI and set the background color to #F6EAD7. We have then created a label, an entry field, and a button with the help of the Label[], Entry[], and Button[] widgets of the Tkinter library and set their master parameters to the object of the Toplevel[] class, i.e., rename_window. We have then set the positions of these widgets on the window using the pack[] method. We have set the textvariable parameter of the Entry[] widget to the object of the StringVar[] class, i.e., enteredFileName. We have also set the command parameter of the Button[] widget to the submitName[] function, allowing us to rename the file.

Xóa một tập tingetFilePath[]. Within this function, we have used the askopenfilename[] method of the filedialog module and stored the path of the file in a variable named the_file. We have then returned this variable.

Bây giờ chúng tôi sẽ xác định một chức năng để xóa một tệp khỏi thư mục. Chúng tôi sẽ bắt đầu bằng cách chọn tệp từ thư mục. Sau đó, chúng tôi sẽ xóa tệp đó bằng phương thức Remove [] do mô -đun HĐH cung cấp và hiển thị hộp thông báo hiển thị thông báo thành công.submitName[]. This function will be called when the user clicks the submit button we created in the renameFile[] function. Within this function, we have used the get[] method to retrieve the value from the enteredFileName object and the set[] method to set the value to an empty string. We have then called the getFilePath[] method and stored the returned path in a variable. We have then used the os.path.join[] method and append the directory path with the new file name and the extension. We then used the rename[] method to rename the file. At last, we have used the messagebox's showinfo[] method to display a success message for the users.

Bây giờ chúng ta hãy xem xét việc thực hiện giống nhau trong đoạn mã sau.

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFile []. Trong hàm này, chúng tôi đã sử dụng phương thức AskOpenFileName [] của FileDialog để chọn tệp từ thư mục. Sau đó, chúng tôi đã sử dụng phương thức Remove [] của mô -đun HĐH để xóa tệp đã chọn. Sau đó, chúng tôi đã sử dụng phương thức showInfo [] của mô -đun MessageBox để hiển thị thông báo thành công.askdirectory[] method of the filedialog module to select the folder and open the file using the startfile[] method of the os module.

Bây giờ chúng ta hãy xem xét việc thực hiện giống nhau trong đoạn mã sau.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là copyfile []. Trong hàm này, chúng tôi đã sử dụng phương thức AskOpenFileName [] của mô -đun FileDialog và chọn tệp để sao chép. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] để chọn thư mục nơi chúng tôi sẽ dán tệp đã chọn. Sau đó, chúng tôi đã sử dụng phương thức Excet Try-Except và phương thức COPY [] của mô-đun Shutil để dán tệp đã chọn vào thư mục mong muốn. Chúng tôi cũng đã hiển thị hộp thông báo hiển thị thông báo cho hoạt động thành công bằng phương thức showInfo [] hoặc hoạt động không thành công bằng phương thức sellowRor [] của mô -đun hộp thư.openFolder[]. Within this function, we have used the filedialog's askdirectory[] method to select the desired folder. We have then used the startfile[] method of the os module to open the selected folder.

Xóa một tập tin

Bây giờ chúng tôi sẽ xác định một chức năng để xóa một tệp khỏi thư mục. Chúng tôi sẽ bắt đầu bằng cách chọn tệp từ thư mục. Sau đó, chúng tôi sẽ xóa tệp đó bằng phương thức Remove [] do mô -đun HĐH cung cấp và hiển thị hộp thông báo hiển thị thông báo thành công.rmdir[] method of the os module to remove the directory from the system.

Chúng ta hãy xem xét đoạn mã sau đây minh họa như vậy.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFolder []. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] của mô -đun FileDialog để chọn thư mục mong muốn. Sau đó, chúng tôi đã sử dụng phương thức rmdir [] của mô -đun HĐH để xóa thư mục chọn khỏi thư mục. Sau đó, chúng tôi đã hiển thị một thông báo thành công bằng phương thức showInfo [] của MessageBox.deleteFolder[]. We have then used the askdirectory[] method of the filedialog module to select the desired folder. We have then used the rmdir[] method of the os module to remove the select folder from the directory. We have then displayed a success message using the messagebox's showinfo[] method.

Di chuyển một thư mục

Bây giờ chúng tôi sẽ xác định một chức năng để di chuyển một thư mục từ vị trí của nó sang vị trí khác. Hàm này sẽ sử dụng phương thức di chuyển [] của thư viện Shutil để di chuyển thư mục yêu cầu đến đích mong muốn.move[] method of the shutil library to move the request folder to the desired destination.

Chúng ta hãy xem xét đoạn mã sau đây minh họa như vậy.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFolder []. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] của mô -đun FileDialog để chọn thư mục mong muốn. Sau đó, chúng tôi đã sử dụng phương thức rmdir [] của mô -đun HĐH để xóa thư mục chọn khỏi thư mục. Sau đó, chúng tôi đã hiển thị một thông báo thành công bằng phương thức showInfo [] của MessageBox.moveFolder[]. Within this function, we have used the askdirectory[] method of the filedialog twice in order to select the desired folder and the destination where the folder will be moved. We have also displayed a message using the showinfo[] method of the messagebox module. We have then used the try-except method, where we utilized the move[] method specifying the selected folder and the destination for its relocation. We have also displayed a success message with the help of the showinfo[] method and the failure message using the showerror[] method of the messagebox module.

Di chuyển một thư mục

Bây giờ chúng tôi sẽ xác định một chức năng để di chuyển một thư mục từ vị trí của nó sang vị trí khác. Hàm này sẽ sử dụng phương thức di chuyển [] của thư viện Shutil để di chuyển thư mục yêu cầu đến đích mong muốn.listdir[] method of the os module, iterating through all the files and printing them. We can also create a pop-up window to display all the file details.

Chúng ta hãy xem xét đoạn mã sau đây minh họa như vậy.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFolder []. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] của mô -đun FileDialog để chọn thư mục mong muốn. Sau đó, chúng tôi đã sử dụng phương thức rmdir [] của mô -đun HĐH để xóa thư mục chọn khỏi thư mục. Sau đó, chúng tôi đã hiển thị một thông báo thành công bằng phương thức showInfo [] của MessageBox.listFilesInFolder[]. We have then initialized the variable with an initial value of 0. We have then used the filedialog's askdirectory[] method to select the desired folder. We have then used the listdir[] method of the os module and stored the list of files in a variable. We have then created an object of the Toplevel[] class of the Tkinter library. We have also set the title, size, position, and background color and disabled the resizable option. We then created a list box using the Listbox[] widget and the place[] method to place the list box on the window. We then created a scrollbar using the Scrollbar[] widget and used the pack[] method to place it on the right side of the list box. We have then used the config[] method of the Listbox's object and set the value of the yscrollcommand parameter to the the_scrollbar.set attribute. We then used the while loop to iterate through the list of files and the insert[] method to insert the details of the files in the list box.

Di chuyển một thư mục

Bây giờ chúng tôi sẽ xác định một chức năng để di chuyển một thư mục từ vị trí của nó sang vị trí khác. Hàm này sẽ sử dụng phương thức di chuyển [] của thư viện Shutil để di chuyển thư mục yêu cầu đến đích mong muốn.Tk[] class of the Tkinter library. We will also set a title, size, position, and background color.

Chúng ta hãy xem xét đoạn mã sau đây minh họa như vậy.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFolder []. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] của mô -đun FileDialog để chọn thư mục mong muốn. Sau đó, chúng tôi đã sử dụng phương thức rmdir [] của mô -đun HĐH để xóa thư mục chọn khỏi thư mục. Sau đó, chúng tôi đã hiển thị một thông báo thành công bằng phương thức showInfo [] của MessageBox.Tk[] class. We have then used the title[] method to set the title of the application. We have also used the geometry[] method to set the size and position of the application. We have also set the parameter values to zeroes of the resizable[] method to disable the resizable option. At last, we have set the background color to #D8E9E6 using the configure[] method.

Di chuyển một thư mục

Bây giờ chúng tôi sẽ xác định một chức năng để di chuyển một thư mục từ vị trí của nó sang vị trí khác. Hàm này sẽ sử dụng phương thức di chuyển [] của thư viện Shutil để di chuyển thư mục yêu cầu đến đích mong muốn.

Trong đoạn mã trên, chúng tôi đã xác định một hàm là MoveFolder []. Trong hàm này, chúng tôi đã sử dụng phương thức AskDirectory [] của FileDialog hai lần để chọn thư mục mong muốn và đích nơi thư mục sẽ được di chuyển. Chúng tôi cũng đã hiển thị một thông báo bằng phương thức showInfo [] của mô -đun MessageBox. Sau đó, chúng tôi đã sử dụng phương thức Excet Try-Except, trong đó chúng tôi sử dụng phương thức di chuyển [] chỉ định thư mục đã chọn và đích để di dời. Chúng tôi cũng đã hiển thị một thông báo thành công với sự trợ giúp của phương thức showInfo [] và thông báo lỗi bằng phương thức sellowRor [] của mô -đun hộp thư.

Liệt kê các tệp trong một thư mụcFrame[] widget of the Tkinter library.

Bây giờ chúng tôi sẽ xác định một chức năng để liệt kê tất cả các tệp trong một thư mục. Điều này có thể được thực hiện bằng phương thức listDir [] của mô -đun HĐH, lặp lại tất cả các tệp và in chúng. Chúng tôi cũng có thể tạo một cửa sổ bật lên để hiển thị tất cả các chi tiết tệp.Frame[] widget.

Tệp: fileexplorer.py

Explanation:

Trong đoạn mã trên, chúng tôi đã xác định một hàm là DeleteFolder []. Sau đó, chúng tôi đã sử dụng phương thức AskDirectory [] của mô -đun FileDialog để chọn thư mục mong muốn. Sau đó, chúng tôi đã sử dụng phương thức rmdir [] của mô -đun HĐH để xóa thư mục chọn khỏi thư mục. Sau đó, chúng tôi đã hiển thị một thông báo thành công bằng phương thức showInfo [] của MessageBox.Frame[] widget. We have also specified the master parameter of this widget to win_root, an object of the Tk[] class and set the background color to #D8E9E6. We then used the pack[] method to place the frames in the window.

Tạo một nhãn

Bây giờ chúng tôi sẽ tạo một nhãn để hiển thị tiêu đề cho ứng dụng. Một nhãn có thể được tạo bằng tiện ích nhãn [].Label[] widget.

Chúng ta hãy xem xét đoạn mã sau minh họa việc triển khai tiện ích nhãn [].Label[] widget.

Tệp: fileexplorer.py

Explanation:

Chúng tôi đã tạo một nhãn bằng tiện ích nhãn [] trong đoạn mã trên. Chúng tôi đã đặt tham số chính của tiện ích này thành khung Header_Frame mà chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản, kiểu phông chữ và kích thước, màu nền và màu tiền cảnh. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] để định vị nhãn này trong cửa sổ.Label[] widget in the above code snippet. We have set the master parameter of this widget to the header_frame frame we defined earlier. We have also set the text, font style and size, background color, and foreground color. At last, we have used the pack[] method to position this label in the window.

Tạo nút

Bây giờ chúng tôi sẽ thêm một số nút vào ứng dụng bằng tiện ích nút []. Các nút này sẽ cho phép chúng tôi thao tác các chức năng mà chúng tôi đã tạo trước đó.Button[] widget. These buttons will allow us to manipulate the functions we created earlier.

Sau đây là đoạn mã của mã minh họa việc triển khai tiện ích nút [].Button[] widget.

Tệp: fileexplorer.py

Explanation:

Chúng tôi đã tạo một nhãn bằng tiện ích nhãn [] trong đoạn mã trên. Chúng tôi đã đặt tham số chính của tiện ích này thành khung Header_Frame mà chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản, kiểu phông chữ và kích thước, màu nền và màu tiền cảnh. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] để định vị nhãn này trong cửa sổ.Button[] widget and set their master parameters to buttons_frame, a frame we defined earlier. We have also set the text to display for each button, along with the font style and size. We have also set the button widget, background color, foreground color, button appearance, and background and foreground color when clicking a button. We have also set the value of the command parameter to the functions they will call. At last, we have used the pack[] method and set the value of the pady parameter to 8 to position the buttons in the application.

Tạo nút

Bây giờ chúng tôi sẽ thêm một số nút vào ứng dụng bằng tiện ích nút []. Các nút này sẽ cho phép chúng tôi thao tác các chức năng mà chúng tôi đã tạo trước đó.StringVar[] class that will accept the string entered in the entry field that we will use for renaming a file. We will then call the mainloop[] method of the Tk[] class to run the application.

Sau đây là đoạn mã của mã minh họa việc triển khai tiện ích nút [].

Tệp: fileexplorer.py

Explanation:

Chúng tôi đã tạo một nhãn bằng tiện ích nhãn [] trong đoạn mã trên. Chúng tôi đã đặt tham số chính của tiện ích này thành khung Header_Frame mà chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản, kiểu phông chữ và kích thước, màu nền và màu tiền cảnh. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] để định vị nhãn này trong cửa sổ.StringVar[] class and used the mainloop[] method along with win_root, the object of the Tk[] class, to run the application.

Tạo nút

Syntax:

Bây giờ chúng tôi sẽ thêm một số nút vào ứng dụng bằng tiện ích nút []. Các nút này sẽ cho phép chúng tôi thao tác các chức năng mà chúng tôi đã tạo trước đó.File Explorer using Tkinter" project in Python.

Sau đây là đoạn mã của mã minh họa việc triển khai tiện ích nút [].

Trong đoạn mã trên, chúng tôi đã tạo các nút khác nhau bằng tiện ích nút [] và đặt các tham số chính của chúng thành nút_frame, một khung chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản để hiển thị cho mỗi nút, cùng với kiểu và kích thước phông chữ. Chúng tôi cũng đã đặt tiện ích nút, màu nền, màu nền, xuất hiện nút, và nền và màu nền trước khi nhấp vào nút. Chúng tôi cũng đã đặt giá trị của tham số lệnh thành các chức năng mà họ sẽ gọi. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] và đặt giá trị của tham số Pady thành 8 để định vị các nút trong ứng dụng.File Explorer using Tkinter" project in Python.

Tệp: fileexplorer.py

Output:

Chúng tôi đã tạo một nhãn bằng tiện ích nhãn [] trong đoạn mã trên. Chúng tôi đã đặt tham số chính của tiện ích này thành khung Header_Frame mà chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản, kiểu phông chữ và kích thước, màu nền và màu tiền cảnh. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] để định vị nhãn này trong cửa sổ. The main window of the File Explorer Application

Tạo nút Opening a File

Bây giờ chúng tôi sẽ thêm một số nút vào ứng dụng bằng tiện ích nút []. Các nút này sẽ cho phép chúng tôi thao tác các chức năng mà chúng tôi đã tạo trước đó. Displaying the selected file

Sau đây là đoạn mã của mã minh họa việc triển khai tiện ích nút []. Copying the file

Trong đoạn mã trên, chúng tôi đã tạo các nút khác nhau bằng tiện ích nút [] và đặt các tham số chính của chúng thành nút_frame, một khung chúng tôi đã xác định trước đó. Chúng tôi cũng đã đặt văn bản để hiển thị cho mỗi nút, cùng với kiểu và kích thước phông chữ. Chúng tôi cũng đã đặt tiện ích nút, màu nền, màu nền, xuất hiện nút, và nền và màu nền trước khi nhấp vào nút. Chúng tôi cũng đã đặt giá trị của tham số lệnh thành các chức năng mà họ sẽ gọi. Cuối cùng, chúng tôi đã sử dụng phương thức Gói [] và đặt giá trị của tham số Pady thành 8 để định vị các nút trong ứng dụng. Selecting the folder to paste the file

Chạy ứng dụng Displaying a message box to print a success message on copying the file to the destined location.

Khi cấu trúc của ứng dụng đã sẵn sàng, đã đến lúc chúng tôi tạo một đối tượng của lớp StringVar [] sẽ chấp nhận chuỗi được nhập vào trường nhập mà chúng tôi sẽ sử dụng để đổi tên một tệp. Sau đó, chúng tôi sẽ gọi phương thức MainLoop [] của lớp Tk [] để chạy ứng dụng. Deleting a file from the directory

Chúng ta hãy xem xét đoạn mã sau đây thể hiện việc thực hiện tuyên bố trên. Displaying the message box to print a success message on the deletion of the file.

Trong đoạn mã trên, chúng tôi đã tạo một đối tượng của lớp StringVar [] và sử dụng phương thức MainLoop [] cùng với win_root, đối tượng của lớp tk [], để chạy ứng dụng. Renaming a File

Do đó, chúng tôi đã tạo thành công trình khám phá tệp với GUI bằng Tkinter trong Python. Bây giờ chúng ta có thể lưu tệp dự án Python và thực hiện lệnh sau để xem kết quả. Selecting the file to rename

Trước khi chúng tôi thấy đầu ra, chúng tôi hãy xem đoạn mã hoàn chỉnh của dự án "File Explorer sử dụng Tkinter" trong Python. Displaying the message box to print a success message on the renaming of the file.

Mã dự án hoàn chỉnh Opening the folder

Sau đây là đoạn mã hoàn chỉnh cho dự án "File Explorer sử dụng Tkinter" trong Python. Displaying the selected folder

Hình 1: Cửa sổ chính của ứng dụng File Explorer Deleting a folder from the directory

Hình 2.1: Mở tệp Displaying the message box to print a success message on the deletion of the folder.

Hình ảnh 2.2: Hiển thị tệp đã chọn Moving the folder.

Hình 3.1: Sao chép tệp Displaying the message box to print a success message on the selection of the desired folder.

Hình 3.2: Chọn thư mục để dán tệp Selecting the destination for moving the folder.

Hình 3.3: Hiển thị hộp thông báo để in tin nhắn thành công khi sao chép tệp vào vị trí định mệnh. Displaying the message box to print a success message on the moving of the file.

Hình 4.1: Xóa tệp khỏi thư mục Selecting the folder to list all the files.

Hình 4.2: Hiển thị hộp thông báo để in tin nhắn thành công khi xóa tệp. Displaying the list box window listing all the files available in the selected folder.

Làm cách nào để mở cửa sổ Tkinter thứ hai?

Bạn có thể mở các cửa sổ mới trong tkinter bằng lệnh tkinter.toplevel [].tkinter. Toplevel[] command.

Làm cách nào để mở một GUI từ một GUI khác trong Python?

Bạn không thể "gọi" một GUI khác.Nếu GUI khác này tạo cửa sổ gốc của riêng mình và gọi MainLoop [], tùy chọn hợp lý duy nhất của bạn là sinh ra một quy trình mới.Đó là một giải pháp đơn giản đòi hỏi ít công việc.Hai GUI sẽ hoàn toàn độc lập với nhau.spawn a new process. That's a simple solution that requires little work. The two GUIs will be completely independent of each other.

Làm cách nào để mở một tập tin tkinter trong Python?

Lập trình Tkinter Nhập mô -đun Tkinter.Tạo cửa sổ chính của ứng dụng GUI.Thêm một hoặc nhiều tiện ích đã đề cập ở trên vào ứng dụng GUI.Nhập vòng lặp sự kiện chính để thực hiện hành động chống lại từng sự kiện được kích hoạt bởi người dùng.Import the Tkinter module. Create the GUI application main window. Add one or more of the above-mentioned widgets to the GUI application. Enter the main event loop to take action against each event triggered by the user.

Làm cách nào để chạy một chương trình Python từ một chương trình Python khác?

Các bước để chạy một kịch bản Python từ một kịch bản khác..
Bước 1: Đặt các tập lệnh Python vào cùng một thư mục.Để bắt đầu, hãy đặt các tập lệnh Python của bạn vào cùng một thư mục.....
Bước 2: Thêm cú pháp.Tiếp theo, thêm cú pháp vào từng tập lệnh của bạn.....
Bước 3: Chạy một kịch bản Python từ một bản khác ..

Bài Viết Liên Quan

Chủ Đề