# -*- coding: utf-8 -*-
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys
QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))
class Settings(QDialog):
def __init__(self,parent=None):
super(Settings,self).__init__(parent)
self.setWindowTitle(self.tr("儲存視窗狀态"))
self.label = QLabel(self.tr("Setting Test"))
self.colorBtn = QPushButton(self.tr("Select Color"))
self.edit = QTextEdit()
layout = QGridLayout(self)
layout.addWidget(self.label,0,0)
layout.addWidget(self.colorBtn,0,1)
layout.addWidget(self.edit,1,0,1,2)
self.readSettings()
self.connect(self.colorBtn,SIGNAL("clicked()"),self.slotColor)
def closeEvent(self,e):
self.writeSettings()
def readSettings(self):
setting = QSettings("MyPro","settings")
pos = setting.value("position").toPoint()
size = setting.value("size").toSize()
color = QColor(setting.value("color"))
text = setting.value("text").toString()
self.move(pos)
self.resize(size)
p = self.label.palette()
p.setColor(QPalette.Normal,QPalette.WindowText,color)
self.label.setPalette(p)
self.edit.setPlainText(text)
def writeSettings(self):
setting = QSettings("MyPro","Settings")
setting.setValue("position",self.pos())
setting.setValue("size",self.size())
setting.setValue("color",self.label.palette().color(QPalette.WindowText))
setting.setValue("text",self.edit.toPlainText())
def slotColor(self):
newcolor = QColorDialog.getColor()
app=QApplication(sys.argv)
dialog=Settings()
dialog.show()
app.exec_()