Pythonチェックボックスと要素の削除

2722 ワード

コード表示!from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication,QLabelfrom PyQt5.QtCore import Qtimport sys,sip
class Example(QWidget):def init(self):super().init()self.settings()
def settings(self):
    self.a = QCheckBox('    ', self)
    self.a.move(20, 20)
    self.a.stateChanged.connect(self.printresult)

    self.setGeometry(300, 300, 250, 150)
    self.setWindowTitle('   ')
    self.show()

def printresult(self):
    print(self.a.text())
    print(self.a.checkState())

if name == 'main':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())
簡単でしょう.まずQCheckBoxでチェックボックスを作成します.そして信号をバインドします.
1つ目は、チェックボックスの内容を印刷することです.「更新するかどうか」です.2つ目は印刷がチェックされているかどうか、チェックされているかどうかは2で、チェックされていないかどうかは0です.
これにより、ユーザーがチェックしているかどうかを判断することができます.
もちろん、もう一つの方法は、from PyQt 5です.QtWidgets import QWidget, QCheckBox, QApplication,QLabelfrom PyQt5.QtCore import Qtimport sys,sip
class Example(QWidget):def init(self):super().init()self.settings()
def settings(self):
    self.a = QCheckBox('    ', self)
    self.a.move(20, 20)
    self.a.toggle()
    self.a.stateChanged.connect(self.printresult)

    self.setGeometry(300, 300, 250, 150)
    self.setWindowTitle('   ')
    self.show()

def printresult(self):
    print(self.a.text())
    print(self.a.checkState())

if name == 'main':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())
これはa.toggleはデフォルトチェックです.
では、例を見てみましょう.新しい内容は、要素を削除することです.私が先に言いましょう.pyqt 5のsipライブラリでsipを使用します.deleteで要素を削除します.delもいいかもしれませんが、私は使いませんので、分かりません.from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication,QPushButtonfrom PyQt5.QtCore import Qtimport sys,sip
class Example(QWidget):def init(self):super().init()self.settings()
def settings(self):
    self.a = QCheckBox('    ', self)
    self.a.move(20, 20)
    self.a.stateChanged.connect(self.b)

    self.yes = QPushButton('    !',self)
    self.yes.move(50,50)
    self.yes.clicked.connect(self.printresult)

    self.setGeometry(300, 300, 250, 150)
    self.setWindowTitle('   ')
    self.show()

def b(self):
    self.number = self.a.checkState()

def printresult(self):
    try:
        if self.number == 2:
            print('    !')
            sip.delete(self.a)
            sip.delete(self.yes)
        if self.number == 0:
            sip.delete(self.a)
            sip.delete(self.yes)
            print('    ')
    except:
        sip.delete(self.a)
        sip.delete(self.yes)
        print('    ')

if name == 'main':app = QApplication(sys.argv)ex = Example()sys.exit(app.exec_())