C5:Dialogs

Input Dialog

Final Result

C5:Dialogs

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

C5:Dialogs

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

C5:Dialogs

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

C5:Dialogs

C5:Dialogs

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