0 Câu hỏi: PySide2 QPushButton autoclicks khi bắt đầu và không hoạt động sau đó. Tôi đang làm gì sai? [đóng cửa]

câu hỏi được tạo ra tại Tue, May 7, 2019 12:00 AM

Tôi chưa quen với Pyside2 và đang cố gắng thực hiện một nút có chức năng khi nhấp. Nhưng sau khi tôi khởi động ứng dụng, nút tự động nhấp và không hoạt động trở lại cho dù đã nhấp bao nhiêu lần.

Tôi đã thử các giải pháp từ qt chính thức cho tài liệu python cũng như guidespoint . Tất cả đều hiển thị cùng một giải pháp nhưng chúng cũng không hoạt động.

from PySide2.QtWidgets import QApplication, QPushButton
from PySide2.QtCore import Slot


@Slot()
def func():
    print("Hello")


if __name__ == "__main__":
    # Create a QApplication
    app = QApplication([])

    # Create a button
    button = QPushButton('HelloButton')

    # Connect the button "clicked" signal to the func() method
    # that finishes the QApplication
    button.clicked.connect(func())

    button.show()
    app.exec_()

Tôi hy vọng đầu ra chỉ in Xin chào mỗi lần tôi nhấn nút, nhưng nó sẽ in Xin chào ngay khi tôi chạy ứng dụng và không bao giờ in lại, bất kể thế nào nhiều lần tôi nhấn nút.

    
- 1
  1. Bạn nên sử dụng button.clicked.connect(func)
    2019-05-07 18: 46: 33Z
  2. Typo: thay đổi nút.clicky.connect (func ()) thành button.clicky.connect (func)
    2019-05-07 18: 50: 06Z
  3. Wow đã hoạt động. Ai đó có thể giải thích hoặc cho tôi hướng dẫn về nơi để tìm cách hoạt động không?
    2019-05-07 19: 11: 17Z
  4. @ FarhanAzizK Tác giả kết nối mong đợi một cuộc gọi, tức là một biến có thể được gọi, trong các từ đơn giản, hãy đợi tên của hàm, nhưng trong trường hợp của bạn, bạn đã vượt qua Hàm được gọi trả về Không và đó là
    không chính xác
    2019-05-07 20: 16: 32Z
  5. Nói cách khác, func là một giá trị có chứa hàm có thể gọi được và func() là một lệnh gọi hàm (trong trường hợp này không trả về gì cả).
    2019-05-07 21: 23: 22Z
0 Câu trả lời                              0                         
nguồn đặt đây