原文: https://pythonspot.com/qt4-buttons/

Qt4 按钮 - 图1

PyQt4 按钮示例

PyQt4(Qt4)通过 QPushButton 小部件支持按钮。

我们扩展代码以在窗口中心显示一个按钮。

如果将鼠标悬停在该按钮上将显示一个工具提示,按下该按钮将关闭程序。

PyQt4 按钮示例

下面的示例在 PyQt4 窗口中添加了一个按钮。

  1. #! /usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. import sys
  5. from PyQt4.QtGui import *
  6. # Create an PyQT4 application object.
  7. a = QApplication(sys.argv)
  8. # The QWidget widget is the base class of all user interface objects in PyQt4.
  9. w = QWidget()
  10. # Set window size.
  11. w.resize(320, 240)
  12. # Set window title
  13. w.setWindowTitle("Hello World!")
  14. # Add a button
  15. btn = QPushButton('Hello World!', w)
  16. btn.setToolTip('Click to quit!')
  17. btn.clicked.connect(exit)
  18. btn.resize(btn.sizeHint())
  19. btn.move(100, 80)
  20. # Show window
  21. w.show()
  22. sys.exit(a.exec_())

PyQt4 信号和槽

单击按钮应该可以执行某些操作。 为此,您必须使用信号和槽。

如果用户执行诸如单击按钮,在框中键入文本之类的操作,则小部件会发出信号。 信号可以与一个槽相连,该槽充当接收器并对其起作用。

  1. import sys
  2. from PyQt4.QtCore import pyqtSlot
  3. from PyQt4.QtGui import *
  4. # create our window
  5. app = QApplication(sys.argv)
  6. w = QWidget()
  7. w.setWindowTitle('Button click example @pythonspot.com')
  8. # Create a button in the window
  9. btn = QPushButton('Click me', w)
  10. # Create the actions
  11. @pyqtSlot()
  12. def on_click():
  13. print('clicked')
  14. @pyqtSlot()
  15. def on_press():
  16. print('pressed')
  17. @pyqtSlot()
  18. def on_release():
  19. print('released')
  20. # connect the signals to the slots
  21. btn.clicked.connect(on_click)
  22. btn.pressed.connect(on_press)
  23. btn.released.connect(on_release)
  24. # Show the window and run the app
  25. w.show()
  26. app.exec_()

下载 PyQT 代码(批量收集)