Python复选框与删除元素

代码显示!

from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication,QLabel
from PyQt5.QtCore import Qt
import 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创建一个复选框。
然后绑定信号。

第一个是打印复选框的内容,就是‘是否更新’。
第二个是打印是否勾上,勾上了就是2,没勾上就是0。

由这个我们可以来判断用户有没有勾。

当然,还有一个方法,就是这样的:

from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication,QLabel
from PyQt5.QtCore import Qt
import 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_())

这个self.a.toggle就是默认勾上。

那么我们来看个例子,里面还有一个新内容,就是删除元素。我就先说吧。就是pyqt5里的sip库,使用sip.delete来删除元素。del也许也可以,不过我不用,所以不清楚。

from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication,QPushButton
from PyQt5.QtCore import Qt
import 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_())

相信大家没问题吧。

好了,这是今天的Gui知识,如果大家喜欢,不妨花个五秒,加个关注,点个赞。如果大家有疑惑,可以在评论区询问,伙伴们也可以加我的QQ:3418772261。在QQ里,我可以提供答疑。那么下期再见了,拜拜!

发布了24 篇原创文章 · 获赞 75 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/Persia_king/article/details/105267264