Ứng dụng mở Python và nhấp vào nút

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

Sr. Không. Tùy chọn và Mô tả

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ỏ

3

bd

Độ rộng đường viền tính bằng pixel. Mặc định là 2

4

bg

Màu nền bình thường

5

chỉ huy

Hàm hoặc phương thức được gọi khi nút được nhấp

6

fg

Màu nền trước [văn bản] bình thường

7

nét chữ

Phông chữ văn bản được sử dụng cho nhãn của nút

8

chiề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]

9

mà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

10

hình ảnh

Hình ảnh sẽ được hiển thị trên nút [thay vì văn bản]

11

biện minh

Cách hiện nhiều dòng văn bản. LEFT để căn trái từng dòng;

12

padx

Phần đệm bổ sung bên trái và bên phải của văn bản

13

thóc

Phần đệm bổ sung bên trên và bên dưới văn bản

14

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

15

tiể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

16

gạ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

17

bề 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]

18

chiề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

2

gọ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

Chủ Đề