Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ปรับขนาดปุ่มแบบไดนามิกเมื่อ Resize หน้าต่างใน Tkinter

Python มีไลบรารีอุดมสมบูรณ์สำหรับสร้างและพัฒนาแอปพลิเคชันแบบ GUI Tkinter เป็นหนึ่งในไลบรารี Python ที่ใช้กันมากที่สุดสำหรับสร้าง GUI Apps มีฟีเจอร์มากมาย เช่น เพิ่ม Widgets และแอตทริบิวต์อื่นๆ ที่จำเป็น

ปุ่ม (Button) เป็น Widget ที่สามารถกำหนดงานหรือ Event เฉพาะได้ อย่างไรก็ตาม เพื่อปรับขนาดหรือตำแหน่งปุ่มแบบไดนามิก เราสามารถตั้งค่าตำแหน่งและ Layout ได้โดยใช้ Grid Module ใน Tkinter เพื่อปรับขนาดปุ่มแบบไดนามิก เราสามารถใช้เมธอด rowconfigure() และ columnconfigure()

ในระบบ Grid ของ Tkinter มี 4 แอตทริบิวต์ที่ใช้ปรับขนาด Widget ใดๆ แอตทริบิวต์เหล่านี้อ้างถึงทิศทาง เช่น North, South, East, และ West เพื่อทำให้ปุ่มตอบสนอง (Responsive) และปรับขนาดได้แบบไดนามิกตามขนาดหน้าจอหรือหน้าต่าง เราต้องใช้ Property row และ column ในมัน

ตัวอย่าง

# Importing the tkinter library
from tkinter import *

win = Tk()
win.title("Dynamically Resize Buttons")
win.geometry("700x500")

# Configure Rows and column
Grid.rowconfigure(win, 0, weight=1)
Grid.columnconfigure(win, 0, weight=1)

# Create buttons
b1 = Button(win, text="C++")
b2 = Button(win, text="Java")

# Create List of buttons
bl = [b1, b2]
row_no = 0

# Loop through all the buttons and configure it row-wise
for button in bl:
    Grid.rowconfigure(win, row_no, weight=1)
    row_no += 1

# Adjust the position in grid and make them sticky
b1.grid(row=0, column=0, sticky="nsew")
b2.grid(row=1, column=0, sticky="nsew")

win.mainloop()

ผลลัพธ์

การรันโค้ดข้างต้นจะสร้างผลลัพธ์และแสดง 2 ปุ่มในแนวนอนตามลำดับ Row ซึ่งสามารถปรับขนาดได้แบบไดนามิกตามขนาดหน้าจอหรือหน้าต่าง

ปรับขนาดปุ่มแบบไดนามิกเมื่อ Resize หน้าต่างใน Tkinter