Hướng dẫn lập trình ứng dụng quản lý sinh viên sử dụng Tkinter và Python #1

Posted by


Trong bài hướng dẫn này, chúng ta sẽ tạo một ứng dụng quản lý sinh viên sử dụng Tkinter và Python. Ứng dụng sẽ cho phép người dùng thêm, xem, sửa và xóa thông tin của sinh viên như tên, tuổi và điểm số.

Bước 1: Cài đặt Tkinter và Python
Trước tiên, bạn cần cài đặt Python trên máy tính của mình. Bạn có thể tải Python từ trang web chính thức của Python và cài đặt nó theo hướng dẫn.

Sau khi cài đặt Python, bạn cần cài đặt Tkinter – một thư viện đồ họa mặc định của Python. Để cài đặt Tkinter, bạn có thể sử dụng trình quản lý gói của Python bằng cách chạy lệnh sau trong dòng lệnh:

pip install tk

Bước 2: Tạo giao diện đồ họa
Đầu tiên, bạn cần tạo một cửa sổ giao diện đồ họa sử dụng Tkinter. Dưới đây là mã để tạo cửa sổ giao diện cơ bản:

import tkinter as tk

root = tk.Tk()
root.title("Quản lý sinh viên")

# Add widgets here

root.mainloop()

Mã trên sẽ tạo một cửa sổ trống với tiêu đề "Quản lý sinh viên".

Bước 3: Thêm các widget vào cửa sổ
Tiếp theo, bạn cần thêm các widget như nhãn, ô nhập và nút vào cửa sổ để người dùng có thể tương tác với ứng dụng. Dưới đây là mã để thêm widget vào cửa sổ:

# Add widgets here
label = tk.Label(root, text="Tên sinh viên:")
label.pack()

entry = tk.Entry(root)
entry.pack()

btn_add = tk.Button(root, text="Thêm sinh viên")
btn_add.pack()

Mã trên sẽ tạo một nhãn với nội dung "Tên sinh viên:", một ô nhập và một nút "Thêm sinh viên".

Bước 4: Xử lý sự kiện
Cuối cùng, bạn cần thêm xử lý sự kiện cho nút "Thêm sinh viên" để lưu thông tin của sinh viên vào một danh sách. Dưới đây là mã để thêm xử lý sự kiện cho nút "Thêm sinh viên":

students = []

def add_student():
    name = entry.get()
    students.append(name)
    entry.delete(0, tk.END)

btn_add.config(command=add_student)

Mã trên sẽ lưu tên sinh viên khi người dùng nhấp vào nút "Thêm sinh viên" và xóa nội dung khỏi ô nhập.

Bước 5: Hiển thị danh sách sinh viên
Cuối cùng, bạn cần thêm một widget để hiển thị danh sách sinh viên đã được thêm vào ứng dụng. Dưới đây là mã để hiển thị danh sách sinh viên:

listbox = tk.Listbox(root)
listbox.pack()

for student in students:
    listbox.insert(tk.END, student)

Mã trên sẽ tạo một danh sách sinh viên và hiển thị tên của mỗi sinh viên trong danh sách.

Sau khi hoàn thành tất cả các bước trên, bạn đã tạo thành công một ứng dụng quản lý sinh viên sử dụng Tkinter và Python. Bạn có thể mở ứng dụng bằng cách chạy mã Python và thêm, xem, sửa và xóa thông tin của sinh viên.

0 0 votes
Article Rating
21 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Anonymous
1 month ago

✅Hướng dẫn tìm nội dung python muốn học👉Vào Youtube gõ từ khoá cần tìm+gà python(Ví dụ: vòng lặp while gà python)
✅Like, đăng ký kênh, bật chuông ủng hộ AD nha anh em. Thanks 🥰
——————
✪ Business inquiries: gapyth@gmail.com
✪ Subscribe: https://www.youtube.com/gapython
➥ GaPython Social Links:
✪ Fanpage Facebook : https://www.facebook.com/gapython
✪ Group Facebook hỏi đáp, giao lưu: https://www.facebook.com/groups/gapython
✪ Tiktok: http://tiktok.com/@gapython
✪ GitHub: https://github.com/GaPyth

———————————————-/————-
© Bản quyền thuộc về GaPython
© Copyright by GaPython & Do not Reup
#GaPython #tkinter #tkintertutorial

@PetPalace--Explorers
1 month ago

ad cho em xin code tham khảo có được không ạ

@HanhtrangveTayPhuong-uo6br
1 month ago

anh cho e hỏi là e làm ra rồi nhưng trên bản m thêm nó chỉ hiện 1 dòng mà trong txt nó có thêm ???như vậy là lỗi gì ạ

@HanhtrangveTayPhuong-uo6br
1 month ago

Bạn ơi nó ko hiện lỗi nhưng nó ko thêm đc

@camtuaothi1039
1 month ago

@GaPython cho em hỏi với . cái dòng
path='C: QLSV.txt'
là phải tạp sẵn cái txt đó ạ?

@chienle4218
1 month ago

Dùng cái này so vs pyqt5 , cái nào tạo đẹp hơn a ơi

@VIETHUNG0612
1 month ago

cái hàm:
def read:
thì nó không có dấu () như trong video nên lỗi không thụt lề được
bạn sửa giúp mình với

@phatho8585
1 month ago

Traceback (most recent call last):

File "C:UsersAdminPycharmProjectsHellowworldmain.py", line 2, in <module>

root = Tk()

^^^^

File "C:UsersAdminAppDataLocalProgramsPythonPython313Libtkinter_init__.py", line 2405, in __init_

self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

_tkinter.TclError: Can't find a usable init.tcl in the following directories:

C:/Users/Admin/AppData/Local/Programs/Python/Python313/lib/tcl8.6 C:/Users/Admin/AppData/Local/Programs/Python/lib/tcl8.6 C:/Users/Admin/AppData/Local/Programs/lib/tcl8.6 C:/Users/Admin/AppData/Local/Programs/Python/library C:/Users/Admin/AppData/Local/Programs/library C:/Users/Admin/AppData/Local/Programs/tcl8.6.13/library C:/Users/Admin/AppData/Local/tcl8.6.13/library

This probably means that Tcl wasn't installed properly
Đây là toàn bộ looixkhi em chạy dòng:
from tkinter import *

root = Tk()

root.mainloop()
anh có cách nào chỉ em fix dc ko ạ

@truongzgiang
1 month ago

cảm ơn sư phụ ko hề ga python

@dafakest
1 month ago

anh ơi cho em hỏi em có thể code các thuật toán chính bằng c++ rồi dùng Tkinter để tạo giao diện không ạ? có cách nào để liên kết chúng lại không ạ ?

@Quinladyyy
1 month ago

anh ơi, em cũng code giống trên clip nhưng nó không chạy khi em nhập thông tin vào ạ TT

@HoNuiCoc12a2
1 month ago

@GaPython bạn cho hỏi cách làm def xoa_dong(): với

@cuongnguyenviet8583
1 month ago

Cho em xin code bài này! em viết theo anh mà nó không chạy! không biết sửa như thế nào luôn! em cám ơn

@phongthanh7902
1 month ago

anh sử dụng chương trình gì để viết code z

Anonymous
1 month ago

Chào bạn mình muốn hỏi mình viết code xong rồi làm ntn để nó chạy ra phần mền

@truongnguyenquoctrung1361
1 month ago

cái hàm show() khi em gọi lại ở dưới listbox nó 'NoneType' object is not iterable

@nguyenhuuhoanganh
1 month ago

tại sao em lại id ra {} ạ

@TruongPham-ew1hs
1 month ago

anh cho em hỏi, em vẫn chưa hiểu lắm đoạn hàm def sort,
def sort():

sv=read()

for i in range(len(sv)):

for j in range(len(sv)):

x = sv[i]

y = sv[j]

if x[2] > y[2]:

sv[j] = x

sv[i] = y

listbox.delete(0, END)

for i in sv:

listbox.insert(END, i)
——
em có nghĩ mà không biết dòng chảy của đoạn code này là như thế nào à, đầu tiên là hệ thống chạy 2 vòng for xong chạy tới cách sắp xếp theo tiêu chuẩn thứ 2 là năm thì em hiểu rồi, mà lại tới dòng delete thì có phải là đã xóa hết 2 vòng for ở trên không à, thế thì khi anh chạy dòng for insert ở dưới thì khác nào mình lại chạy từ file test nguyên văn ra chứ chưa hề sort,
—–
với lại listbox.delete(0, END) là xóa từ 0 đến END là xóa cột hay hàng hay là đơn giản xóa hết dữ liệu từ từ 0 tới hết
—–
với chỗ listbox.insert(END, i) sao mình không insert i thôi anh vì i là giá trị 1 dòng trong sv hay cú pháp phải có END nữa mà sao mình không để số 0 chỗ END mà lại để END vậy ak

em mới tìm hiểu về module này mong anh giải thích giúp em với, tks anh nhiều ak

@peakee4261
1 month ago

Khi nhập nội dung vào Entry thì nội dung nhạp vào không hiện thị trên listbox là sao vậy ạ

@luutran808
1 month ago

anh code python trên ios bằng app gì vậy