Tiện ích Nút được sử dụng để thêm các nút trong ứng dụng Python. Các nút này có thể hiển thị văn bản hoặc hình ảnh truyền đạt mục đích của các nút. Bạn có thể đính kèm một chức năng hoặc một phương thức vào một nút được gọi tự động khi bạn nhấp vào nút
cú pháp
Đây là cú pháp đơn giản để tạo widget này -
w = Button [ master, option=value, .. ]
Thông số
master - Cái này đại diện cho cửa sổ cha
tùy chọn - Đây là danh sách các tùy chọn được sử dụng phổ biến nhất cho tiện ích này. Các tùy chọn này có thể được sử dụng làm cặp khóa-giá trị được phân tách bằng dấu phẩy
hoạt động nền
Màu nền khi nút nằm dưới con trỏ
2đang hoạt động
Màu nền trước khi nút nằm dưới con trỏ
3bd
Độ rộng đường viền tính bằng pixel. Mặc định là 2
4bg
Màu nền bình thường
5chỉ huy
Hàm hoặc phương thức được gọi khi nút được nhấp
6fg
Màu nền trước [văn bản] bình thường
7nét chữ
Phông chữ văn bản được sử dụng cho nhãn của nút
8chiều cao
Chiều cao của nút trong dòng văn bản [đối với nút văn bản] hoặc pixel [đối với hình ảnh]
9màu nổi bật
Màu của tiêu điểm nổi bật khi tiện ích có tiêu điểm
10hình ảnh
Hình ảnh sẽ được hiển thị trên nút [thay vì văn bản]
11biện minh
Cách hiện nhiều dòng văn bản. LEFT để căn trái từng dòng;
12padx
Phần đệm bổ sung bên trái và bên phải của văn bản
13thóc
Phần đệm bổ sung bên trên và bên dưới văn bản
cứu trợ
Hình nổi chỉ định loại đường viền. Một số giá trị là SUNKEN, RAISED, GROOVE và RIDGE
15tiểu bang
Đặt tùy chọn này thành TẮT để làm mờ nút và làm cho nút không phản hồi. Có giá trị HOẠT ĐỘNG khi chuột ở trên nó. Mặc định là BÌNH THƯỜNG
16gạch dưới
Mặc định là -1, nghĩa là không có ký tự nào của văn bản trên nút sẽ được gạch dưới. Nếu không âm, ký tự văn bản tương ứng sẽ được gạch chân
17bề rộng
Chiều rộng của nút tính bằng chữ cái [nếu hiển thị văn bản] hoặc pixel [nếu hiển thị hình ảnh]
18chiều dài gói
Nếu giá trị này được đặt thành số dương, các dòng văn bản sẽ được ngắt dòng để vừa với độ dài này
phương pháp
Sau đây là các phương pháp thường được sử dụng cho widget này -
Sr. Không. Phương pháp và Mô tảtốc biến[]
Làm cho nút nhấp nháy nhiều lần giữa màu hoạt động và màu bình thường. Để lại nút ở trạng thái ban đầu. Bỏ qua nếu nút bị tắt
2gọi []
Gọi hàm gọi lại của nút và trả về giá trị mà hàm đó trả về. Không có tác dụng nếu nút bị tắt hoặc không có lệnh gọi lại
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách bắt đầu xử lý với Qt cho các tín hiệu và vị trí của Python. Về cơ bản, tính năng Qt này cho phép các tiện ích đồ họa của bạn giao tiếp với các tiện ích đồ họa khác hoặc mã python của riêng bạn. Ứng dụng của chúng tôi sẽ tạo một nút có thể nhấp sẽ hiển thị Nút được nhấp, Xin chào. trong bảng điều khiển python mỗi khi bạn nhấp vào nó
Hãy bắt đầu bằng cách nhập các lớp PySide2 cần thiết và mô-đun python sys
1 import sys 2 from PySide2.QtWidgets import QApplication, QPushButton
Chúng ta cũng hãy tạo một hàm python ghi thông báo vào bảng điều khiển
1 # Greetings 2 def say_hello[]: 3 print["Button clicked, Hello!"]
Bây giờ, như đã đề cập trong các ví dụ trước, bạn phải tạo QApplication sẽ chạy mã PySide2 của bạn
1 # Create the Qt Application 2 app = QApplication[sys.argv]
Hãy tạo nút có thể nhấp, một QPushButton. Chúng tôi chuyển một chuỗi python vào hàm tạo sẽ gắn nhãn cho nút
1 # Create a button 2 button = QPushButton["Click me"]
Trước khi hiển thị nút, chúng ta phải kết nối nó với hàm say_hello[] mà chúng ta đã xác định trước đó. Hiện tại, có hai cách để thực hiện việc này - bằng cách sử dụng kiểu cũ hoặc kiểu mới. Phong cách mới mang tính Pythonic hơn và đó là những gì chúng tôi sẽ sử dụng ở đây. Bạn có thể tìm thêm thông tin về cả hai phương pháp trong Signals_and_Slots_in_PySide. QPushButton có tín hiệu được xác định trước được gọi là đã nhấp, tín hiệu này được kích hoạt mỗi khi nhấn nút. Chúng ta sẽ chỉ kết nối tín hiệu này với hàm say_hello[]
1 # Connect the button to the function 2 button.clicked.connect[say_hello]
Cuối cùng, chúng tôi hiển thị nút và bắt đầu vòng lặp chính Qt
1 # Show the button 2 button.show[] 3 # Run the main Qt loop 4 app.exec_[]
Mã đầy đủ
1 #!/usr/bin/python 2 # -'''- coding: utf-8 -'''- 3 4 import sys 5 from PySide2.QtWidgets import QApplication, QPushButton 6 7 def say_hello[]: 8 print["Button clicked, Hello!"] 9 10 # Create the Qt Application 11 app = QApplication[sys.argv] 12 # Create a button, connect it and show it 13 button = QPushButton["Click me"] 14 button.clicked.connect[say_hello] 15 button.show[] 16 # Run the main Qt loop 17 app.exec_[]
Theo cùng một ý tưởng, chúng ta có thể tạo một QPushButton để đóng ứng dụng khi được nhấp vào
________số 8_______
Hãy xem đoạn mã sau, nó tuân theo cùng một ý tưởng được mô tả trước đó nhưng tương tác với các mô-đun python khác