Skip to content

Instantly share code, notes, and snippets.

@alexander-hanel
Created November 13, 2018 02:52
Show Gist options
  • Save alexander-hanel/68b0d147c20b73c7e50a295aab852e9b to your computer and use it in GitHub Desktop.
Save alexander-hanel/68b0d147c20b73c7e50a295aab852e9b to your computer and use it in GitHub Desktop.
GUI Code Sucks
from PyQt5 import QtWidgets, QtGui

class ListViewDemoDialog(QtWidgets.QDialog):
    def __init__(self):
        super(ListViewDemoDialog, self).__init__()
       
        # create a layout to place controllers (called widgets) on
        layout = QtWidgets.QVBoxLayout()

        # create an empty list
        self.list = QtWidgets.QListWidget()
        self.list.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)
        self.list.currentItemChanged.connect(self.print_item)
        
        # item         
        self.list.addItem("this")


        # create a button and connect it's "clicked" signal to our "add_item" slot
        self.addbtn = QtWidgets.QPushButton("Add item")
        self.addbtn.clicked.connect(self.add_item)

        layout.addWidget(self.addbtn)
        layout.addWidget(self.list)

        # make our created layout the dialogs layout
        self.setLayout(layout)

    def add_item(self):
        self.list.addItem("This is an item")
        
    def print_item(self):
        print self.list.currentItem().text()

x = ListViewDemoDialog()
x.show()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment