anatoly techtonik avatar anatoly techtonik committed d071ed6

+ 05.paint.button.py <- 04.dialog.color.py: paint button with selected color

Comments (0)

Files changed (1)

05.paint.button.py

+# The code is placed into public domain by anatoly techtonik
+# Feel free to copy/paste wherever you like
+
+# Absolutely minimal example of PySide application with button calling dialog
+
+# More info about Qt dialogs:
+# http://www.pyside.org/docs/pyside/PySide/QtGui/QDialog.html#PySide.QtGui.QDialog
+
+from PySide.QtGui import QApplication, QPushButton, QColorDialog, QMessageBox,\
+                         QPixmap
+
+
+def choose_color():
+    # Select color
+    color  = QColorDialog().getColor()
+    
+    # Report about result of selection in QMessageBox dialog
+    msgbox = QMessageBox()
+    if color.isValid():
+        # Create a memory image 50x50 filled with selected color to display
+        # as a icon in the msgbox dialog
+        pixmap = QPixmap(50, 50)
+        pixmap.fill(color)
+        msgbox.setWindowTitle(u'Selected Color')
+        msgbox.setIconPixmap(pixmap)
+    else:
+        msgbox.setWindowTitle(u'No Color was Selected')
+    msgbox.exec_()
+
+
+app = QApplication([])
+    
+# Create top level window/button
+button = QPushButton('Choose Color')
+# Call function that invokes color selection dialog when the button is clicked
+button.clicked.connect(choose_color)
+button.show()
+
+app.exec_()
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.