"""
定义控件
"""
#保存数据源
def saveMsg(txt):
file = open('original.txt', 'w+')
file.write(txt + '\n')
file.close()
#保存格式化命令
def saveCli(txt):
file = open('Cli.txt', 'w+')
file.write(txt + '\n')
file.close()
#格式化方法
def format():
original = OriginalText.toPlainText()
saveMsg(original)
cli = FormatText.toPlainText()
saveCli(cli)
original_file = open('original.txt', 'r')
for line in original_file:
line = line.replace('\n', '')
ls = line.split(",")
cli_file = open('cli.txt')
cli_date = cli_file.read()
for x in range(len(ls)):
output = re.sub(r"\$" + str(x), ls[x], cli_date)
cli_date = output
OutputArea.append(output)
original_file.close()
#清楚所有文本框
def ClearAll():
OriginalText.clear()
FormatText.clear()
OutputArea.clear()
"""
创建主窗口
"""
TransformApp = QApplication(sys.argv)
Transformwidget = QWidget()
"""
设置多行文本框
"""
#OFor each row in this list:
Title1Text = QTextEdit(Transformwidget)
Title1Text.setReadOnly(True)
Title1Text.setFont(QFont('SimSun',15))
Title1Text.setMaximumSize(QSize(600,33))
label1 = "For each row in this list:"
Title1Text.append(label1)
OriginalText = QTextEdit(Transformwidget)
OriginalText.setMaximumSize(QSize(600,200))
#Substitute using this pattern:
Title2Text = QTextEdit(Transformwidget)
Title2Text.setReadOnly(True)
Title2Text.setFont(QFont('SimSun',15))
Title2Text.setMaximumSize(QSize(600,33))
label2 = "Substitute using this pattern:"
Title2Text.append(label2)
FormatText = QTextEdit(Transformwidget)
FormatText.setMaximumSize(QSize(600,100))
#Results:
Title3Text = QTextEdit(Transformwidget)
Title3Text.setReadOnly(True)
Title3Text.setFont(QFont('SimSun',15))
Title3Text.setMaximumSize(QSize(600,33))
label3 = "Results:"
Title3Text.append(label3)
OutputArea = QTextEdit(Transformwidget)
OutputArea.setReadOnly(True)
OutputArea.setFont(QFont('SimSun',12))
OutputArea.setMaximumSize(QSize(600,200))
btnStart = QPushButton('start',Transformwidget)
btnCancel = QPushButton('cancel',Transformwidget)
"""
定义信号槽,按钮关联控件
"""
#Start
btnStart.clicked.connect(format)
#Cancel
btnCancel.clicked.connect(ClearAll)
"""
窗口布局
"""
hbox = QHBoxLayout()
hbox.addWidget(btnStart)
hbox.addWidget(btnCancel)
vbox = QVBoxLayout()
vbox.addWidget(Title1Text)
vbox.addWidget(OriginalText)
vbox.addWidget(Title2Text)
vbox.addWidget(FormatText)
vbox.addWidget(Title3Text)
vbox.addWidget(OutputArea)
vbox.addLayout(hbox)
Transformwidget.setLayout(vbox)
Transformwidget.setGeometry(0,0,600,600)
Transformwidget.setWindowTitle('命令转换小工具')
#窗口居中
screen = QDesktopWidget().screenGeometry()
size = Transformwidget.geometry()
Transformwidget.move((screen.width() - size.width()) / 2,(screen.height() - size.height()) /2)
Transformwidget.show()
sys.exit(TransformApp.exec_())