MCPcopy
hub / github.com/PyQt5/PyQt / Window

Class Window

QtQuick/Signals.py:88–119  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

86
87
88class Window(QWidget):
89 # 定义一个时间信号
90 timerSignal = pyqtSignal(str)
91
92 def __init__(self, *args, **kwargs):
93 super(Window, self).__init__(*args, **kwargs)
94 layout = QVBoxLayout(self)
95 layout.addWidget(QPushButton('Python调用qml中的函数',
96 self, clicked=self.callQmlFunc))
97 self.resultView = QTextBrowser(self)
98 layout.addWidget(self.resultView)
99 self._timer = QTimer(self, timeout=self.onTimeout)
100 self._timer.start(2000)
101
102 def onTimeout(self):
103 # 定时器发送信号通知qml
104 self.timerSignal.emit('定时器发来:' + str(time()))
105
106 def callQmlFunc(self):
107 # 主动调用qml中的appendText函数
108 engine.rootObjects()[0].appendText('我是被Python调用了')
109
110 @pyqtSlot(int)
111 def onValueChanged(self, value):
112 # qml中的自定义信号valueChanged所绑定的槽函数
113 self.resultView.append('拉动条值: %s' % value)
114
115 @pyqtSlot(str, result=str) # 可以获取返回值
116 def testSlot(self, name):
117 # 被qml调用的函数
118 self.resultView.append('我被主动调用: %s' % name)
119 return str(len(name))
120
121
122if __name__ == '__main__':

Callers 1

Signals.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected