Python Forum
[PyQt] choose checkbox
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] choose checkbox
#1
Hi, I have this code with pyqt5:

    elif (content1 == "next"):
            todos = ["one" , "two" , "three" , "four", "five"]
            self.todo_listWidget.show()
            for todo in todos:
                item = QListWidgetItem(todo)
                item.setFlags(item.flags() | QtCore.Qt.ItemIsUserCheckable)
                item.setCheckState(QtCore.Qt.Unchecked) 

                self.todo_listWidget.addItem(item)
And I want if i chose one item make something
like if item (x) is checked then do something



how can i do this?
Reply
#2
Getting signals from QListWidgetItem is difficult, QCheckbox is easier

from PyQt5.QtWidgets import (QMainWindow, QApplication, QVBoxLayout, 
                             QWidget, QCheckBox)
                             
from PyQt5.QtCore import Qt

class mainWin(QMainWindow):
    def __init__(self, parent = None):
        super(mainWin, self).__init__(parent)
        self.setupUI()
        
    def setupUI(self):
        self.setGeometry(0, 0, 800, 600)
        central_widget = QWidget()
        vbox = QVBoxLayout()
                
        todos = ["one" , "two" , "three" , "four", "five"]
        self.todo_listWidget = QVBoxLayout()
        for todo in todos:
            item = QCheckBox(text = todo)
            item.setCheckState(Qt.Unchecked)
            item.stateChanged.connect(self.test)
                    
            self.todo_listWidget.addWidget(item)
            
        vbox.addLayout(self.todo_listWidget)
        
        vbox.addWidget(QWidget())
        
        central_widget.setLayout(vbox)
        self.setCentralWidget(central_widget)
        
        
    def test(self):
        action = self.sender()
        if action:
            state = action.checkState()
            name = action.text() 
            print(f"{name} state: {state}") 


if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = mainWin()
    win.setWindowTitle("Main Window")
    win.show()

    sys.exit(app.exec_())
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Dynamic checkbox treeview issue OogieM 8 4,992 Mar-20-2022, 02:10 PM
Last Post: OogieM
  tkinter change the text of the checkbox zazas321 1 3,867 Sep-17-2021, 06:19 AM
Last Post: zazas321
  [PyQt] How do I display the DB table I will choose from the QComboBox in QTableWidget JokerSob 2 2,335 Aug-05-2021, 03:00 PM
Last Post: JokerSob
  How to get the value of a checkbox scratchmyhead 4 3,074 May-14-2020, 02:56 PM
Last Post: scratchmyhead
  Tkinter checkbox value scratchmyhead 5 3,709 May-09-2020, 11:44 PM
Last Post: menator01
  Which GUI should I choose ? Matprog49 2 2,355 Apr-25-2020, 02:12 PM
Last Post: Matprog49
  TreeviewWith CheckBox issac_n 1 7,770 Mar-08-2020, 06:51 AM
Last Post: shamnadinn
  Tkinter Checkbox niro_one 1 2,366 Jan-13-2020, 11:31 AM
Last Post: joe_momma
  [Tkinter] Choose from dropdown list and then do something? Selfiatus1 2 5,453 Jun-07-2019, 08:43 PM
Last Post: Selfiatus1
  [Tkinter] Unable to create checkbox and select at run time tej7gandhi 5 4,696 May-05-2019, 04:57 PM
Last Post: tej7gandhi

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020