PyQt5实现字符串与十六进制之间的转换

一、代码涉及的知识点:

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

运行结果如图所示:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值