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_())