Qt for Python UsingQtProperties/ko: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:LanguageBindings::PySide]]<br />[[Category:LanguageBindings::PySide Korean]]<br />[[Category:Snippets]]
[[Category:LanguageBindings::PySide]]
[[Category:LanguageBindings::PySide Korean]]
[[Category:Snippets]]


'''한국어''' [[:Using_Qt_Properties_in_PySide|English]]
'''한국어''' [[:Using_Qt_Properties_in_PySide|English]]
Line 9: Line 11:
아래 예제는 파이썬에서 Qt 속성을 정의하고 접근하는 방법을 보여 줍니다.
아래 예제는 파이썬에서 Qt 속성을 정의하고 접근하는 방법을 보여 줍니다.


<code><br />class MyObject(QObject):<br /> def ''init''(self,startval=42):<br /> self.ppval = startval
<code>
class MyObject(QObject):
def ''init''(self,startval=42):
self.ppval = startval


def readPP(self):<br /> return self.ppval
def readPP(self):
return self.ppval


def setPP(self,val):<br /> self.ppval = val
def setPP(self,val):
self.ppval = val


pp = Property(int, readPP, setPP)
pp = Property(int, readPP, setPP)


obj = MyObject()<br />obj.pp = 47<br />print obj.pp<br /></code>
obj = MyObject()
obj.pp = 47
print obj.pp
</code>


PySide의 속성에 대한 자세한 내용은 "PSEP 103":http://www.pyside.org/docs/pseps/psep-0103.html 을 참고하십시오.
PySide의 속성에 대한 자세한 내용은 "PSEP 103":http://www.pyside.org/docs/pseps/psep-0103.html 을 참고하십시오.
Line 25: Line 35:
QML 문서에서 선언한 객체의 속성을 사용하려면 정의한 QML 속성이 NOTIFY가 가능해야 합니다. 간단한 시그널을 선언하면 됩니다.
QML 문서에서 선언한 객체의 속성을 사용하려면 정의한 QML 속성이 NOTIFY가 가능해야 합니다. 간단한 시그널을 선언하면 됩니다.


<code><br />class Person(QtCore.QObject):<br /> def ''init''(self, name):<br /> QtCore.QObject.''init''(self)<br /> self._person_name = name
<code>
class Person(QtCore.QObject):
def ''init''(self, name):
QtCore.QObject.''init''(self)
self._person_name = name


def _name(self):<br /> return self._person_name
def _name(self):
return self._person_name


&amp;#64;QtCore.Signal<br /> def name_changed(self): pass
&amp;#64;QtCore.Signal
def name_changed(self): pass


name = QtCore.Property(unicode, _name, notify=name_changed)<br /></code>
name = QtCore.Property(unicode, _name, notify=name_changed)
</code>

Revision as of 11:38, 25 February 2015


한국어 English

PySide에서 Qt 속성 사용하기

PySide의

Property

함수는 Qt 및 파이썬의 속성을 한번에 정의할 수 있으며, 속성 값을 읽고 쓰는 파이썬 함수를 정의할 수 있습니다.

아래 예제는 파이썬에서 Qt 속성을 정의하고 접근하는 방법을 보여 줍니다.

class MyObject(QObject):
 def ''init''(self,startval=42):
 self.ppval = startval

def readPP(self):
 return self.ppval

def setPP(self,val):
 self.ppval = val

pp = Property(int, readPP, setPP)

obj = MyObject()
obj.pp = 47
print obj.pp

PySide의 속성에 대한 자세한 내용은 "PSEP 103":http://www.pyside.org/docs/pseps/psep-0103.html 을 참고하십시오.

QML 속성

QML 문서에서 선언한 객체의 속성을 사용하려면 정의한 QML 속성이 NOTIFY가 가능해야 합니다. 간단한 시그널을 선언하면 됩니다.

class Person(QtCore.QObject):
 def ''init''(self, name):
 QtCore.QObject.''init''(self)
 self._person_name = name

def _name(self):
 return self._person_name

&amp;#64;QtCore.Signal
 def name_changed(self): pass

name = QtCore.Property(unicode, _name, notify=name_changed)