Hướng dẫn create a screen in python - tạo màn hình trong python

Tôi chỉ bắt đầu học Python và chúng tôi phải thực hiện một vụ án mã hóa ở trường. Có một vài ví dụ về các vấn đề bạn có thể làm, hoặc bạn có thể tự tạo, nhưng tôi muốn sử dụng một trong các ví dụ. Tôi muốn biết nếu có một cách để tạo một cửa sổ hiển thị riêng biệt trong Python để hiển thị hình ảnh cho một trò chơi. Ive đã thấy các hướng dẫn sử dụng pygame, nhưng chúng tôi không được phép tải xuống bất cứ thứ gì vào máy tính của trường nên tôi không thể sử dụng bất kỳ tiện ích bổ sung nào. Tôi chỉ học những thứ rất cơ bản hoàn toàn dựa trên văn bản.

Được hỏi ngày 9 tháng 9 năm 2019 lúc 18:36Sep 9, 2019 at 18:36

2

Tôi đã có một trải nghiệm khá tốt khi sử dụng Kivy. Theo tôi, nó dễ học hơn tkinter, mặc dù nó có thể kém linh hoạt.

Đã trả lời ngày 9 tháng 9 năm 2019 lúc 18:51Sep 9, 2019 at 18:51

Hướng dẫn create a screen in python - tạo màn hình trong python

AhndwooahndwooAhndwoo

1.0153 huy hiệu bạc16 Huy hiệu đồng3 silver badges16 bronze badges

2

Lấy nét

Tiện ích đạt được sự tập trung.

Lấy nétTcl-Tk GUI toolkit developed by Fredrik Lundh. This module is bundled with standard distributions of Python for all platforms.

Widget mất tập trung.

Một sự kiện nên được đăng ký với một hoặc nhiều tiện ích GUI trong ứng dụng. Nếu không, nó sẽ bị bỏ qua. Trong Tkinter, có hai cách để đăng ký một sự kiện với một tiện ích. Cách đầu tiên là sử dụng phương thức

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
4 và cách thứ hai là sử dụng tham số lệnh trong Trình xây dựng tiện ích.

Wxpython là một trình bao bọc Python xung quanh WXWidgets, một thư viện đồ họa đa nền tảng khác.

Hướng dẫn này giải thích việc sử dụng Tkinter trong việc phát triển các chương trình Python dựa trên GUI.

Ứng dụng GUI cơ bản

Các yếu tố GUI và chức năng của chúng được xác định trong mô -đun Tkinter. Mã sau đây cho thấy các bước trong việc tạo UI.

from tkinter import *
window=Tk()
# add widgets here

window.title('Hello Python')
window.geometry("300x200+10+20")
window.mainloop()

Trước hết, nhập mô -đun Tkinter. Sau khi nhập, thiết lập đối tượng ứng dụng bằng cách gọi hàm Tk(). Điều này sẽ tạo ra một cửa sổ cấp cao nhất (gốc) có khung với thanh tiêu đề, hộp điều khiển với các nút giảm thiểu và đóng và khu vực máy khách để giữ các vật dụng khác. Phương thức geometry() xác định chiều rộng, chiều cao và tọa độ của góc trên cùng bên trái của khung như bên dưới (tất cả các giá trị đều có trong pixel):

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
0 Đối tượng ứng dụng sau đó nhập vòng lặp nghe sự kiện bằng cách gọi phương thức
from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
1. Ứng dụng hiện đang liên tục chờ đợi bất kỳ sự kiện nào được tạo ra trên các yếu tố trong đó. Sự kiện này có thể được nhập văn bản trong trường văn bản, một lựa chọn được tạo từ nút thả xuống hoặc radio, hành động nhấp chuột đơn/kép của chuột, v.v ... Chức năng của ứng dụng liên quan đến việc thực hiện các chức năng gọi lại phù hợp để đáp ứng với một loại sự kiện cụ thể. Chúng tôi sẽ thảo luận về việc xử lý sự kiện sau này trong hướng dẫn này. Vòng lặp sự kiện sẽ chấm dứt và khi nhấp vào nút Đóng trên thanh tiêu đề. Mã trên sẽ tạo cửa sổ sau:

Hướng dẫn create a screen in python - tạo màn hình trong python
Cửa sổ Python-Tkinter

Tất cả các lớp tiện ích Tkinter được kế thừa từ lớp Widget. Hãy thêm các tiện ích được sử dụng phổ biến nhất.

Cái nút

Nút có thể được tạo bằng lớp nút. Trình xây dựng lớp nút yêu cầu tham chiếu đến cửa sổ chính và các tùy chọn.

Chữ ký:

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
2

Bạn có thể đặt các thuộc tính quan trọng sau để tùy chỉnh một nút:

  • Văn bản: Chú thích của nút
  • BG: Màu nền
  • FG: Màu tiền cảnh
  • Phông chữ: Tên phông chữ và kích thước
  • Hình ảnh: được hiển thị thay vì văn bản
  • Lệnh: Chức năng được gọi khi nhấp vào

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()

Nhãn mác

Một nhãn có thể được tạo trong UI trong Python bằng lớp nhãn. Trình xây dựng nhãn yêu cầu các tham số tùy chọn và đối tượng cửa sổ cấp cao nhất. Các tham số tùy chọn tương tự như đối tượng nút.

Sau đây thêm một nhãn trong cửa sổ.

from tkinter import *
window=Tk()
lbl=Label(window, text="This is Label widget", fg='red', font=("Helvetica", 16))
lbl.place(x=60, y=50)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()

Ở đây, chú thích của nhãn sẽ được hiển thị với màu đỏ bằng cách sử dụng phông chữ Helvetica có kích thước 16 điểm.

Lối vào

Tiện ích này hiển thị một hộp văn bản một dòng để chấp nhận đầu vào của người dùng. Đối với đầu vào văn bản đa dòng, sử dụng tiện ích văn bản. Ngoài các thuộc tính đã được đề cập, hàm tạo lớp nhập chấp nhận như sau:

  • BD: Kích thước đường viền của hộp văn bản; Mặc định là 2 pixel.
  • Hiển thị: Để chuyển đổi hộp văn bản thành trường Mật khẩu, hãy đặt thuộc tính Hiển thị thành "*".

Mã sau đây thêm trường văn bản.

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
3

Ví dụ sau tạo một cửa sổ bằng một nút, nhãn và trường nhập.

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
lbl=Label(window, text="This is Label widget", fg='red', font=("Helvetica", 16))
lbl.place(x=60, y=50)
txtfld=Entry(window, text="This is Entry Widget", bd=5)
txtfld.place(x=80, y=150)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()

Ví dụ trên sẽ tạo cửa sổ sau.

Hướng dẫn create a screen in python - tạo màn hình trong python
Tạo các tiện ích UI trong Python-Tkinter

Tiện ích lựa chọn

Radiobutton: Tiện ích này hiển thị nút chuyển đổi có trạng thái bật/tắt. Có thể có nhiều hơn một nút, nhưng chỉ một trong số chúng sẽ được bật tại một thời điểm nhất định. This widget displays a toggle button having an ON/OFF state. There may be more than one button, but only one of them will be ON at a given time.

CheckButton: Đây cũng là một nút chuyển đổi. Một hộp kiểm hình chữ nhật xuất hiện trước khi chú thích của nó. Trạng thái của nó được hiển thị bởi dấu tích trong hộp biến mất khi được nhấp vào TẮT. This is also a toggle button. A rectangular check box appears before its caption. Its ON state is displayed by the tick mark in the box which disappears when it is clicked to OFF.

ComboBox: Lớp này được xác định trong mô -đun TTK của TkinterPackage. Nó chứa dữ liệu thả xuống từ một kiểu dữ liệu thu thập, chẳng hạn như một bộ tuple hoặc danh sách là tham số giá trị. This class is defined in the ttk module of tkinterpackage. It populates drop down data from a collection data type, such as a tuple or a list as values parameter.

ListBox: Không giống như ComboBox, tiện ích này hiển thị toàn bộ bộ sưu tập các mục chuỗi. Người dùng có thể chọn một hoặc nhiều mục. Unlike Combobox, this widget displays the entire collection of string items. The user can select one or multiple items.

Ví dụ sau đây cho thấy cửa sổ với các tiện ích lựa chọn: Radiobutton, Checkbutton, ListBox và ComboBox:

from tkinter import *
from tkinter.ttk import Combobox
window=Tk()
var = StringVar()
var.set("one")
data=("one", "two", "three", "four")
cb=Combobox(window, values=data)
cb.place(x=60, y=150)

lb=Listbox(window, height=5, selectmode='multiple')
for num in data:
    lb.insert(END,num)
lb.place(x=250, y=150)

v0=IntVar()
v0.set(1)
r1=Radiobutton(window, text="male", variable=v0,value=1)
r2=Radiobutton(window, text="female", variable=v0,value=2)
r1.place(x=100,y=50)
r2.place(x=180, y=50)
                
v1 = IntVar()
v2 = IntVar()
C1 = Checkbutton(window, text = "Cricket", variable = v1)
C2 = Checkbutton(window, text = "Tennis", variable = v2)
C1.place(x=100, y=100)
C2.place(x=180, y=100)

window.title('Hello Python')
window.geometry("400x300+10+10")
window.mainloop()

Hướng dẫn create a screen in python - tạo màn hình trong python
Tạo UI trong Python-Tkinter

Xử lý sự kiện

Một sự kiện là một thông báo mà đối tượng ứng dụng nhận được từ các tiện ích GUI khác nhau do kết quả của tương tác người dùng. Đối tượng ứng dụng luôn dự đoán các sự kiện khi nó chạy vòng lặp nghe sự kiện. Các hành động của người dùng bao gồm nút chuột nhấp hoặc nhấp đúp, phím bàn phím được nhấn trong khi điều khiển nằm trong hộp văn bản, một số phần tử nhất định hoặc đi ra khỏi tiêu điểm, v.v.

Các sự kiện được thể hiện dưới dạng chuỗi ở định dạng.

Nhiều sự kiện được đại diện chỉ là vòng loại. Loại xác định lớp của sự kiện.

Bảng sau đây cho thấy cách Tkinter nhận ra các sự kiện khác nhau:

Biến cố bổ nghĩa Loại hình Vòng loại Hoạt động
Cái nút 1 Nhấp vào nút chuột trái.
Cái nút 2 Nhấp vào nút chuột trái.
Cái nút Nhấp vào nút chuột trái.
Kép Cái nút Nhấp đúp vào nút chuột đầu tiên 1. 1 đi vào
Kép Con trỏ vào cửa sổ. Phơi ra
Kép Cửa sổ tiếp xúc đầy đủ hoặc một phần. Keypress
Kép một Bất kỳ khóa đã được nhấn. Keyrelease
Kép Bất kỳ khóa đã được phát hành. Rời bỏ
Kép Con trỏ lá cửa sổ. In
Kép Phím in đã được nhấn. Lấy nét
Kép Tiện ích đạt được sự tập trung. Lấy nét
Kép Widget mất tập trung. Một sự kiện nên được đăng ký với một hoặc nhiều tiện ích GUI trong ứng dụng. Nếu không, nó sẽ bị bỏ qua. Trong Tkinter, có hai cách để đăng ký một sự kiện với một tiện ích. Cách đầu tiên là sử dụng phương thức
from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
4 và cách thứ hai là sử dụng tham số lệnh trong Trình xây dựng tiện ích.

Phương thức liên kết ()

Phương thức from tkinter import * window=Tk() btn=Button(window, text="This is Button widget", fg='blue') btn.place(x=80, y=100) window.title('Hello Python') window.geometry("300x200+10+10") window.mainloop() 4 liên kết một sự kiện với hàm gọi lại để khi xảy ra chẵn, hàm được gọi.

Widget.bind(event, callback)

Ví dụ: để gọi chức năng

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
6 khi nhấp vào nút bên trái, sử dụng mã sau:

Đối tượng sự kiện được đặc trưng bởi nhiều thuộc tính như tiện ích nguồn, tọa độ vị trí, số nút chuột và loại sự kiện. Chúng có thể được chuyển đến chức năng gọi lại nếu được yêu cầu.

from tkinter import *
window=Tk()
btn = Button(window, text='OK')
btn.bind('<Button-1>', MyButtonClicked)

Tham số lệnh

Mỗi tiện ích chủ yếu đáp ứng với một loại cụ thể. Ví dụ, nút là nguồn của sự kiện nút. Vì vậy, nó theo mặc định ràng buộc với nó. Các phương thức xây dựng của nhiều lớp tiện ích có một tham số tùy chọn được gọi là lệnh. Tham số lệnh này được đặt để gọi lại hàm sẽ được gọi bất cứ khi nào sự kiện bị ràng buộc xảy ra. Phương pháp này thuận tiện hơn phương pháp from tkinter import * window=Tk() btn=Button(window, text="This is Button widget", fg='blue') btn.place(x=80, y=100) window.title('Hello Python') window.geometry("300x200+10+10") window.mainloop() 4.

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
8

Trong ví dụ được đưa ra dưới đây, cửa sổ ứng dụng có hai trường đầu vào văn bản và một trường khác để hiển thị kết quả. Có hai đối tượng nút với chú thích thêm và trừ. Người dùng dự kiến ​​sẽ nhập số trong hai tiện ích nhập. Bổ sung hoặc trừ của họ được hiển thị trong phần ba.

Nút đầu tiên (thêm) được cấu hình bằng tham số lệnh. Giá trị của nó là phương thức

from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
9 trong lớp. Nút thứ hai sử dụng phương thức
from tkinter import *
window=Tk()
btn=Button(window, text="This is Button widget", fg='blue')
btn.place(x=80, y=100)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
4 để đăng ký nút bên trái nhấp bằng phương thức
from tkinter import *
window=Tk()
lbl=Label(window, text="This is Label widget", fg='red', font=("Helvetica", 16))
lbl.place(x=60, y=50)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
1. Cả hai phương thức đều đọc nội dung của các trường văn bản bằng phương thức
from tkinter import *
window=Tk()
lbl=Label(window, text="This is Label widget", fg='red', font=("Helvetica", 16))
lbl.place(x=60, y=50)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
2 của tiện ích nhập, phân tích con số, thực hiện bổ sung/trừ và hiển thị kết quả trong trường văn bản thứ ba bằng phương thức
from tkinter import *
window=Tk()
lbl=Label(window, text="This is Label widget", fg='red', font=("Helvetica", 16))
lbl.place(x=60, y=50)
window.title('Hello Python')
window.geometry("300x200+10+10")
window.mainloop()
3.

Ví dụ trên tạo ra UI sau.

from tkinter import *
class MyWindow:
    def __init__(self, win):
        self.lbl1=Label(win, text='First number')
        self.lbl2=Label(win, text='Second number')
        self.lbl3=Label(win, text='Result')
        self.t1=Entry(bd=3)
        self.t2=Entry()
        self.t3=Entry()
        self.btn1 = Button(win, text='Add')
        self.btn2=Button(win, text='Subtract')
        self.lbl1.place(x=100, y=50)
        self.t1.place(x=200, y=50)
        self.lbl2.place(x=100, y=100)
        self.t2.place(x=200, y=100)
        self.b1=Button(win, text='Add', command=self.add)
        self.b2=Button(win, text='Subtract')
        self.b2.bind('<Button-1>', self.sub)
        self.b1.place(x=100, y=150)
        self.b2.place(x=200, y=150)
        self.lbl3.place(x=100, y=200)
        self.t3.place(x=200, y=200)
    def add(self):
        self.t3.delete(0, 'end')
        num1=int(self.t1.get())
        num2=int(self.t2.get())
        result=num1+num2
        self.t3.insert(END, str(result))
    def sub(self, event):
        self.t3.delete(0, 'end')
        num1=int(self.t1.get())
        num2=int(self.t2.get())
        result=num1-num2
        self.t3.insert(END, str(result))

window=Tk()
mywin=MyWindow(window)
window.title('Hello Python')
window.geometry("400x300+10+10")
window.mainloop()

UI trong Python-Tkinter

Hướng dẫn create a screen in python - tạo màn hình trong python
Vì vậy, bạn có thể tạo UI bằng Tkinter trong Python.

Lệnh màn hình trong Python là gì?

Lệnh màn hình trong Python là gì?

Màn hình (Mã nguồn) là triển khai bộ ghép kênh đầu cuối thường được sử dụng trong quá trình phát triển Python trên các hệ điều hành Linux và MacOS.Màn hình giúp các lập trình viên dễ dàng sử dụng nhiều shell trong một cửa sổ đầu cuối duy nhất trong khi phát triển các ứng dụng của họ.a terminal multiplexer implementation often used during Python development on Linux and macOS operating systems. Screen makes it easier for programmers to use many shells within a single terminal window while developing their applications.

Wn Rùa Màn hình () có nghĩa là gì trong Python?

Màn hình () # tạo một sân chơi cho rùa Alex = rùa.Rùa () # Tạo một con rùa, gán cho Alex Alex.Chuyển tiếp (50) # bảo Alex tiến về phía trước bởi 50 đơn vị Alex.Trái (90) # bảo Alex quay 90 độ Alex.Chuyển tiếp (30) # Hoàn thành mặt thứ hai của hình chữ nhật wn.Creates a playground for turtles alex = turtle. Turtle() # Create a turtle, assign to alex alex. forward(50) # Tell alex to move forward by 50 units alex. left(90) # Tell alex to turn by 90 degrees alex. forward(30) # Complete the second side of a rectangle wn.