C5:Dialogs
Input Dialog
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.dispmessage)
self.show()
def dispmessage(self):
countries = ("albania","algeria","andorra","angola","argentina","armenia","aruba","austria","azerbaijan")
countryName,ok = QInputDialog.getItem(self,"Input Dialog","List of countries",countries,0,False)
if ok and countryName:
self.ui.lineEdit.setText(countryName)
if __name__=="__main__":
app = QApplication(sys.argv)
w = MyForm()
w.show()
sys.exit(app.exec_())
Coloro Dialog
Final Result
How to do it?
class MyForm(QDialog):
def __init__(self):
super().__init__()
col = QColor(0,0,0)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.ui.frame.setStyleSheet("QWidget { background-color:%s}"%col.name())
self.ui.pushButton.clicked.connect(self.dispcolor)
self.show()
def dispcolor(self):
col= QColorDialog.getColor()
if col.isValid():
self.ui.frame.setStyleSheet("QWidget {background-color: %s}"% col.name())
self.ui.message.setText("You have selected the color with code: "+str(col.name()))
if __name__=="__main__":
app = QApplication(sys.argv)
w = MyForm()
w.show()
sys.exit(app.exec_())
Font Dialog
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.changefont)
self.show()
def changefont(self):
font,ok = QFontDialog.getFont()
if ok:
self.ui.textEdit.setFont(font)
if __name__=="__main__":
app = QApplication(sys.argv)
w = MyForm()
w.show()
sys.exit(app.exec_())
File Dialog
Final Result
How to do it?
class MyForm(QMainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.actionOpen.triggered.connect(self.openFile)
self.ui.actionSave.triggered.connect(self.saveFile)
self.show()
def openFile(self):
fname= QFileDialog.getOpenFileName(self,'Open File','C:/')
if fname[0]:
f = open(fname[0],'r')
with f:
data = f.read()
self.ui.textEdit.setText(data)
def saveFile(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
fileName,_= QFileDialog.getSaveFileName(self,"QFileDialog.getSaveFileName()","","All Files (*);;Text Files(*.txt)",options=options)
f = open(fileName,'w')
text = self.ui.textEdit.toPlainText()
f.write(text)
f.close()
if __name__=="__main__":
app = QApplication(sys.argv)
w = MyForm()
w.show()
sys.exit(app.exec_())