summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--pyqt.html.markdown84
1 files changed, 84 insertions, 0 deletions
diff --git a/pyqt.html.markdown b/pyqt.html.markdown
new file mode 100644
index 00000000..cf11ca23
--- /dev/null
+++ b/pyqt.html.markdown
@@ -0,0 +1,84 @@
+---
+category: tool
+tool: Qt Framework
+language: pyqt
+filename: learnqt.py
+contributors:
+ - ["Nathan Hughes", "https://github.com/sirsharpest"]
+lang: en
+---
+
+**Qt** is a widely-known framework for developing cross-platform software that can be run on various software and hardware platforms with little or no change in the code, while having the power and speed of native applications. Though **Qt** was originally written in *C++*.
+
+
+This is an adaption on the C++ intro to QT by [Aleksey Kholovchuk](https://github.com/vortexxx192
+), some of the code examples should result in the same functionality
+this version just having been done using pyqt!
+
+```Python
+import sys
+from PyQt4 import QtGui
+
+def window():
+ # Create an application object
+ app = QtGui.QApplication(sys.argv)
+ # Create a widget where our label will be placed in
+ w = QtGui.QWidget()
+ # Add a label to the widget
+ b = QtGui.QLabel(w)
+ # Set some text for the label
+ b.setText("Hello World!")
+ # Give some size and placement information
+ w.setGeometry(100, 100, 200, 50)
+ b.move(50, 20)
+ # Give our window a nice title
+ w.setWindowTitle("PyQt")
+ # Have everything display
+ w.show()
+ # Execute what we have asked for, once all setup
+ sys.exit(app.exec_())
+
+if __name__ == '__main__':
+ window()
+
+```
+
+In order to get some of the more advanced features in **pyqt** we need to start looking at building additional elements.
+Here we show how to introduce a dialog popup box, useful for asking the user to confirm a decision or to provide information.
+
+```Python
+import sys
+from PyQt4.QtGui import *
+from PyQt4.QtCore import *
+
+
+def window():
+ app = QApplication(sys.argv)
+ w = QWidget()
+ # Create a button and attach to widget w
+ b = QPushButton(w)
+ b.setText("Press me")
+ b.move(50, 50)
+ # Tell b to call this function when clicked
+ # notice the lack of "()" on the function call
+ b.clicked.connect(showdialog)
+ w.setWindowTitle("PyQt Dialog")
+ w.show()
+ sys.exit(app.exec_())
+
+# This function should create a dialog window with a button
+# that waits to be clicked and then exits the program
+def showdialog():
+ d = QDialog()
+ b1 = QPushButton("ok", d)
+ b1.move(50, 50)
+ d.setWindowTitle("Dialog")
+ # This modality tells the popup to block the parent whilst it's active
+ d.setWindowModality(Qt.ApplicationModal)
+ # On click I'd like the entire process to end
+ b1.clicked.connect(sys.exit)
+ d.exec_()
+
+if __name__ == '__main__':
+ window()
+```