python2 qt5 關(guān)于如何判斷字符串為空
問(wèn)題描述
#!/usr/bin/python# -*- coding: UTF-8 -*-# QQ: 78619808# Created by Kylin on 2017/5/31import sysfrom PyQt5.QtWidgets import *class Window(QWidget): def __init__(self):super(Window,self).__init__()self.setWindowTitle(u’加密字符串’)self.setFixedSize(300,200)vbox=QVBoxLayout()self.inputbox=QTextEdit()vbox.addWidget(self.inputbox)hbox=QHBoxLayout()tranbtn=QPushButton(u’加密’)aboutbtn=QPushButton(u’關(guān)于’)self.resultLabel = QLabel('Result:')hbox.addWidget(aboutbtn)hbox.addWidget(tranbtn)aboutbtn.clicked.connect(self.OnAbout)tranbtn.clicked.connect(self.OnTran)vbox.addLayout(hbox)self.outputbox=QTextEdit()vbox.addWidget(self.outputbox)vbox.addWidget(self.resultLabel)self.setLayout(vbox) def OnAbout(self):QMessageBox.about(self,u’關(guān)于’,u’字符串加密工具 by 史艷文’) def OnTran(self):url = self.inputbox.toPlainText()if url.isEmpty(): #執(zhí)行到這里出錯(cuò)了,退出了消息循環(huán) self.resultLabel.setText('是空的')self.resultLabel.setText('不是空的')if __name__==’__main__’: app=QApplication(sys.argv) myshow=Window() myshow.show() sys.exit(app.exec_())
pyqt4轉(zhuǎn)換到pyqt5后url.isEmpty()在pyqt4中這樣寫(xiě)是沒(méi)問(wèn)題,但是在pyqt5中出錯(cuò)的(不會(huì)報(bào)錯(cuò),但是會(huì)退出消息循環(huán)) 該如何改?
問(wèn)題解答
回答1:在PyQt4中,toPlainText方法返回的是QString類(lèi),QString類(lèi)支持isEmpty方法。所以在PyQt4中這樣沒(méi)問(wèn)題。而PyQt5大多數(shù)是在Python3下用的(當(dāng)然PyQt5+Python2也可以),在Python3中基本str類(lèi)已經(jīng)很好的支持了各類(lèi)字符編碼,所以PyQt5中已經(jīng)沒(méi)有QString了,所有期待QString類(lèi)型的API,直接使用原生str即可。同樣的,toPlainText方法返回的也是原生的str類(lèi)型。str沒(méi)有isEmpty方法,所以會(huì)失敗。這里使用普通str的判斷方法即可
url = str(self.inputbox.toPlainText()) # 如果是Python2,這里需要str()轉(zhuǎn)換,如果是Python3則不用if url == ’’if len(url) == 0if url回答2:
url = str(self.inputbox.toPlainText())if url: #非空else: #空
相關(guān)文章:
1. 如何用筆記本上的apache做微信開(kāi)發(fā)的服務(wù)器2. 冒昧問(wèn)一下,我這php代碼哪里出錯(cuò)了???3. php - 淘寶訂單拆單表設(shè)計(jì)4. mysql優(yōu)化 - MySQL如何為配置表建立索引?5. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)6. windows誤人子弟啊7. 實(shí)現(xiàn)bing搜索工具urlAPI提交8. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過(guò)程真的是個(gè)坑!求助下面的存儲(chǔ)過(guò)程哪里錯(cuò)啦,實(shí)在是找不到哪里的問(wèn)題了。9. 我在網(wǎng)址中輸入localhost/abc.php顯示的是not found是為什么呢?10. 關(guān)于mysql聯(lián)合查詢(xún)一對(duì)多的顯示結(jié)果問(wèn)題
