C2:Event Handling

 

Signal/Slot Editor

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.show()
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Small Calculator

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.sum.clicked.connect(self.addtownum)
        self.ui.sub.clicked.connect(self.subtownum)
        self.ui.mul.clicked.connect(self.multownum)
        self.ui.div.clicked.connect(self.divtownum)
        self.show()
    def addtownum(self):
        if len(self.ui.lineEdit.text()) != 0:
            a = int(self.ui.lineEdit.text())
        else:
            a = 0
        if len(self.ui.lineEdit_2.text()) != 0:
            b = int(self.ui.lineEdit_2.text())
        else:
            b = 0
        sum = a+b
        self.ui.message.setText("result: " + str(sum))
    def subtownum(self):
        if len(self.ui.lineEdit.text()) != 0:
            a = int(self.ui.lineEdit.text())
        else:
            a = 0
        if len(self.ui.lineEdit_2.text()) != 0:
            b = int(self.ui.lineEdit_2.text())
        else:
            b = 0
        sub = a-b
        self.ui.message.setText("result: " + str(sub))
    def multownum(self):
        if len(self.ui.lineEdit.text()) != 0:
            a = int(self.ui.lineEdit.text())
        else:
            a = 0
        if len(self.ui.lineEdit_2.text()) != 0:
            b = int(self.ui.lineEdit_2.text())
        else:
            b = 0
        mul = a*b
        self.ui.message.setText("result: " + str(mul))
    def divtownum(self):
        if len(self.ui.lineEdit.text()) != 0:
            a = int(self.ui.lineEdit_2.text())
        else:
            a = 0
        if len(self.ui.lineEdit_2.text()) != 0:
            b = int(self.ui.lineEdit_2.text())
        else:
            b = 0
        div = a/b
        self.ui.message.setText("result: " + str(round(div,2)))
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Spin Box Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.sbo.editingFinished.connect(self.result1)
        self.ui.dsbo.editingFinished.connect(self.result2)
        self.show()
    def result1(self):
        if len(self.ui.le1.text()) != 0:
            bp = int(self.ui.le1.text())
        else:
            bp = 0
        btotal = self.ui.sbo.value() * bp
        self.ui.le2.setText(str(btotal))
    def result2(self):
        if len(self.ui.le3.text()) != 0:
            sp = float(self.ui.le3.text())
        else:
            sp = 0
        stotal = self.ui.dsbo.value() * sp
        self.ui.le4.setText(str(round(stotal,2)))
        total = int(self.ui.le2.text()) + stotal
        self.ui.message.setText("total : "+ str(round(total,2)))
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Scrollbars and Sliders

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.sl.valueChanged.connect(self.scrollhorizontal)
        self.ui.pr.valueChanged.connect(self.scrollvertical)
        self.ui.bp.valueChanged.connect(self.sliderhorizonta)
        self.ui.cl.valueChanged.connect(self.slidervertical)
        self.show()
    def scrollhorizontal(self,value):
        self.ui.lineEdit.setText("Sugar Level: " + str(value))
    def scrollvertical(self,value):
        self.ui.lineEdit.setText("Pulse Rate: " + str(value))
    def sliderhorizonta(self,value):
        self.ui.lineEdit.setText("Blood Pressure: " + str(value))
    def slidervertical(self,value):
        self.ui.lineEdit.setText("Cholestrol Level: " + str(value))
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

List Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.listWidget.itemClicked.connect(self.dispSelecte)
        self.show()
    def dispSelecte(self):
        self.ui.label_2.setText("you have selected "+self.ui.listWidget.currentItem().text())
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Select list items from one List Widget and display them in another

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.listWidgetDiagnosis.itemSelectionChanged.connect(self.dispSelectedTest)
        self.show()
    def dispSelectedTest(self):
        self.ui.listWidgetSelectedTests.clear()
        items = self.ui.listWidgetDiagnosis.selectedItems()
        x = []
        for i in list(items):
            self.ui.listWidgetSelectedTests.addItem(i.text())
            x.append(str(i.text()))
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Add item into List Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.addlist)
    def addlist(self):
        self.ui.listWidget.addItem(self.ui.lineEdit.text())
        self.ui.lineEdit.setText('')
        self.ui.lineEdit.setFocus()
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Operation List Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.listWidget.addItem('ice cream')
        self.ui.listWidget.addItem('soda')
        self.ui.listWidget.addItem('coffee')
        self.ui.listWidget.addItem('chocolate')
        self.ui.badd.clicked.connect(self.addlist)
        self.ui.bedit.clicked.connect(self.editlist)
        self.ui.bdelete.clicked.connect(self.delitem)
        self.ui.bdelall.clicked.connect(self.delall)
        self.show()
    def addlist(self):
        self.ui.listWidget.addItem(self.ui.lineEdit.text())
        self.ui.lineEdit.setText('')
        self.ui.lineEdit.setFocus()
    def editlist(self):
        row = self.ui.listWidget.currentRow()
        newtext,ok=QInputDialog.getText(self,"enter new text","enter new text")
        if ok and (len(newtext) != 0):
            self.ui.listWidget.takeItem(self.ui.listWidget.currentRow())
            self.ui.listWidget.insertItem(row,QListWidgetItem(newtext))
    def delitem(self):
        self.ui.listWidget.takeItem(self.ui.listWidget.currentRow())
    def delall(self):
        self.ui.listWidget.clear()
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Combo Box Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.comboBox.currentIndexChanged.connect(self.dispAccountType)
        self.show()
    def dispAccountType(self):
        self.ui.label.setText("you have selected " + self.ui.comboBox.itemText(self.ui.comboBox.currentIndex()))
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Font Combo Box Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        myFont = QtGui.QFont(self.ui.fontComboBox.itemText(self.ui.fontComboBox.currentIndex()),15)
        self.ui.textEdit.setFont(myFont)
        self.ui.fontComboBox.currentFontChanged.connect(self.changeFont)
        self.show()
    def changeFont(self):
        myFont = QtGui.QFont(self.ui.fontComboBox.itemText(self.ui.fontComboBox.currentIndex()),15)
        self.ui.textEdit.setFont(myFont)
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

Progress Bar Widget

Final Result

How to do it?

class MyForm(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.ui.pushButton.clicked.connect(self.updateBar)
        self.show()
    def updateBar(self):
        x = 0
        while x < 100:
            x += 0.000001
            self.ui.progressBar.setValue(x)
if __name__=="__main__":
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值