11

I want to implement a simple button in PyQt which prints "Hello world" when clicked. How can I do that?

I am a real newbie in PyQt.

ekhumoro
  • 115,249
  • 20
  • 229
  • 336
Abid Rahman K
  • 51,886
  • 31
  • 146
  • 157

1 Answers1

22

If you're new to PyQt, there are some useful tutorials on the PyQt Wiki to get you started. But in the meantime, here's your "Hello World" example:

from PyQt5 import QtWidgets, QtCore

class Window(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        self.button = QtWidgets.QPushButton('Test')
        self.button.clicked.connect(self.handleButton)
        layout = QtWidgets.QVBoxLayout(self)
        layout.addWidget(self.button)

    def handleButton(self):
        print('Hello World')

if __name__ == '__main__':

    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())
ekhumoro
  • 115,249
  • 20
  • 229
  • 336
  • When I try this I get: `Failed to load platform plugin "xcb". Available platforms are "linuxfb" and "minimal". Do you know why? I am running from with the latest stable Python, IPython, Qt5 and snapshot from PyQt4` – Amelio Vazquez-Reina Apr 26 '13 at 18:26
  • @user815423426. Sounds like your installation is broken. What platform are you on, and how did you install the components? – ekhumoro Apr 26 '13 at 19:15