import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.settings = QtCore.QSettings(sys.path[0] + "/config.ini", QtCore.QSettings.IniFormat)
self.userEdit = QtGui.QLineEdit(self.settings.value("account/user").toString())
self.pwd1Edit = QtGui.QLineEdit()
self.pwd2Edit = QtGui.QLineEdit()
self.dirEdit = QtGui.QLineEdit(self.settings.value("account/dir").toString())
self.pwd1Edit.setEchoMode(QtGui.QLineEdit.Password)
self.pwd2Edit.setEchoMode(QtGui.QLineEdit.Password)
saveBtn = QtGui.QPushButton("Save")
cancelBtn = QtGui.QPushButton("Cancel")
browserBtn = QtGui.QPushButton("Browser")
grid = QtGui.QGridLayout()
grid.setSpacing(10)
grid.addWidget(QtGui.QLabel("User"), 1, 0)
grid.addWidget(self.userEdit, 1, 1)
grid.addWidget(QtGui.QLabel("pwd1"), 2, 0)
grid.addWidget(self.pwd1Edit, 2, 1)
grid.addWidget(QtGui.QLabel("pwd2"), 3, 0)
grid.addWidget(self.pwd2Edit, 3, 1)
grid.addWidget(QtGui.QLabel("dir"), 4, 0)
grid.addWidget(self.dirEdit, 4, 1)
grid.addWidget(browserBtn, 4, 2)
saveBtn.clicked.connect(self.save)
cancelBtn.clicked.connect(self.cancel)
browserBtn.clicked.connect(self.browser)
hbox = QtGui.QHBoxLayout()
hbox.addWidget(saveBtn)
hbox.addWidget(cancelBtn)
vbox = QtGui.QVBoxLayout()
vbox.addLayout(grid)
vbox.addLayout(hbox)
self.setLayout(vbox)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle("Account")
self.setWindowIcon(QtGui.QIcon("app.ico"))
self.show()
def save(self):
user = self.userEdit.text()
pwd1 = self.pwd1Edit.text()
pwd2 = self.pwd2Edit.text()
dir = self.dirEdit.text()
if pwd1 != pwd2:
QtGui.QMessageBox.information(self, "Account", "Passwords are not the same")
return
self.settings.setValue("account/user", user)
self.settings.setValue("account/password", pwd1)
self.settings.setValue("account/dir", dir)
def cancel(self):
print "cancel"
def browser(self):
print "browser"
# | QtGui.QFileDialog.DontResolveSymlinks
dir = QtGui.QFileDialog.getExistingDirectory(self, "Open Directory", "", QtGui.QFileDialog.ShowDirsOnly)
self.dirEdit.setText(dir)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
self.settings = QtCore.QSettings(sys.path[0] + "/config.ini", QtCore.QSettings.IniFormat)
self.userEdit = QtGui.QLineEdit(self.settings.value("account/user").toString())
self.pwd1Edit = QtGui.QLineEdit()
self.pwd2Edit = QtGui.QLineEdit()
self.dirEdit = QtGui.QLineEdit(self.settings.value("account/dir").toString())
self.pwd1Edit.setEchoMode(QtGui.QLineEdit.Password)
self.pwd2Edit.setEchoMode(QtGui.QLineEdit.Password)
saveBtn = QtGui.QPushButton("Save")
cancelBtn = QtGui.QPushButton("Cancel")
browserBtn = QtGui.QPushButton("Browser")
grid = QtGui.QGridLayout()
grid.setSpacing(10)
grid.addWidget(QtGui.QLabel("User"), 1, 0)
grid.addWidget(self.userEdit, 1, 1)
grid.addWidget(QtGui.QLabel("pwd1"), 2, 0)
grid.addWidget(self.pwd1Edit, 2, 1)
grid.addWidget(QtGui.QLabel("pwd2"), 3, 0)
grid.addWidget(self.pwd2Edit, 3, 1)
grid.addWidget(QtGui.QLabel("dir"), 4, 0)
grid.addWidget(self.dirEdit, 4, 1)
grid.addWidget(browserBtn, 4, 2)
saveBtn.clicked.connect(self.save)
cancelBtn.clicked.connect(self.cancel)
browserBtn.clicked.connect(self.browser)
hbox = QtGui.QHBoxLayout()
hbox.addWidget(saveBtn)
hbox.addWidget(cancelBtn)
vbox = QtGui.QVBoxLayout()
vbox.addLayout(grid)
vbox.addLayout(hbox)
self.setLayout(vbox)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle("Account")
self.setWindowIcon(QtGui.QIcon("app.ico"))
self.show()
def save(self):
user = self.userEdit.text()
pwd1 = self.pwd1Edit.text()
pwd2 = self.pwd2Edit.text()
dir = self.dirEdit.text()
if pwd1 != pwd2:
QtGui.QMessageBox.information(self, "Account", "Passwords are not the same")
return
self.settings.setValue("account/user", user)
self.settings.setValue("account/password", pwd1)
self.settings.setValue("account/dir", dir)
def cancel(self):
print "cancel"
def browser(self):
print "browser"
# | QtGui.QFileDialog.DontResolveSymlinks
dir = QtGui.QFileDialog.getExistingDirectory(self, "Open Directory", "", QtGui.QFileDialog.ShowDirsOnly)
self.dirEdit.setText(dir)
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == "__main__":
main()