2014-06-08 4 views
1

Python 2.7.6에서 PyCharm 3.1을 사용하여 PySide 1.21 및 Qt 4.85로 작업하고 있습니다. 내가 입력 한 코드의 시작 부분에 그래서 유니 코드를 지원하는 내 응용 프로그램을 좋아하는 것 :PySide의 유니 코드 지원

#--coding: utf-8 -- 

from PySide.QtCore import * 
from PySide.QtGui import * 
import sys 
import math 

class Form(QDialog): 

    def __init__(self,parent=None): 
     super(Form,self).__init__(parent) 

     self.resultsList = QTextBrowser() 
     self.resultsInput = QLineEdit("Enter an expression and press return key") 
     layout = QVBoxLayout() 

     layout.addWidget(self.resultsList) 
     layout.addWidget(self.resultsInput) 

     self.setLayout(layout) 
     self.resultsInput.selectAll() # or 
     self.resultsInput.setFocus() 

     self.resultsInput.returnPressed.connect(self.compute) 

    def compute(self): 
     try: 
      text = self.resultsInput.text() 
      self.resultsList.append("{0} =<b>{1}</b>".format(text, eval(text))) 

     except: 
      self.resultsList.append("<font color=red><b>Expression Invalid</b></font>") 
      # self.resultsList.append("<font color=red><b>格式错误</b></font>") ## unicode 

app = QApplication(sys.argv) 
form = Form() 
form.show() 
app.exec_() 

내가 유니 코드를 사용하여 블록을 제외한에서 코드를 교체 할 때, 유니 코드는 프로그램에 제대로 표시되지 않습니다. 어디서 잘못 됐어? PySide, Qt 또는 일부 설정 오류에 문제가 있습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

2

마침내 나는 그것을 분류했다. 유니 코드를 지원하고자 할 때 파이썬 2.7에서, 간단, 당신은 선언 할 필요가 : 하드 응용 프로그램에서 코딩 할 때 또한,

#--coding: utf-8 -- 

을 프로그램의 시작 부분에, 당신은 "U"를 작성해야 코드 앞에. 예를 들어 :

self.resultsList.append("<font color=red><b>Expression Invalid</b></font>") 

필요로 쓰기 :

self.resultsList.append(u"<font color=red><b>格式错误</b></font>") 

이 조금 "유"하고 문제가 해결된다.