一、代码涉及的知识点:
1、实时转换的实现,利用到textChanged信号,即:每当文本改变时,就会发出这个信号。
2、upper函数的语法及功能:
①语法:string.upper()
②功能:将字符串的区分大小写的字符全转为大写
转换大小写函数的拓展:
(1)lower函数的语法及功能
①语法:string.lower()
②功能:将字符串的区分大小写的字符全转为小写。
(2)capitalize函数的语法及功能
①语法:string.capitalize()
②功能:将字符串的首字母(开头)转换为大写其他为小写。
(3)title函数的语法及功能
①语法:string.titel()
②功能:将字符串的所有单词转为首字母(开头)是大写其他为小写。
3、待更新......
二、代码实现:
class Txttohex(QWidget, txt_to_hex.Ui_Form):
def __init__(self):
super(Txttohex, self).__init__()
self.initui()
def initui(self):
self.setupUi(self)
self.setWindowTitle('文本转换工具')
self.setWindowIcon(QIcon(currently_filepath + '/resources/fenxiangxuetu@240.png'))
self.textEdit_16.textChanged.connect(self.txt_to_hex)
self.textEdit_19.textChanged.connect(self.hex_to_txt)
def txt_to_hex(self):
s = self.textEdit_16.toPlainText()
s_hex = s.encode().hex().upper()
try:
if self.checkBox.isChecked():
s_hex_addkg = re.compile('.{2}')
self.textEdit_17.setText(' '.join(s_hex_addkg.findall((s.encode().hex()).upper())))
else:
self.textEdit_17.setText(s_hex)
except:
pass
def hex_to_txt(self):
try:
hex_input = self.textEdit_19.toPlainText()
hex_input_norm = hex_input.lower().replace(' ', '')
txt_result = binascii.unhexlify(hex_input_norm).decode()
self.textEdit_18.setText(txt_result)
except:
pass
因该功能设计在子窗口中,故而在父窗口中有如下调用:
if __name__ == '__main__':
app = QApplication(sys.argv)
mc = Myclass()
tth = Txttohex() # 实例化子窗口类
mc.show()
mc.pushButton.clicked.connect(tth.show)
sys.exit(app.exec_())
运行结果如图所示: