擅长:python、mysql、java
<p>在代码中,当您单击按钮时,执行的操作与此相同:</p>
<pre><code>def changeText(self):
self.text = 'different text'
self.label = QtGui.QLabel(self.text)
self.initUI()
</code></pre>
<p>这将创建新标签,并重新初始化UI(重复信号连接、创建小部件、设置布局等)。在</p>
<p>如果要重新创建标签而不是设置其文本,则不应重新初始化UI。相反,您应该从布局中删除重新创建的项,然后重新添加它们。示例:</p>
^{pr2}$
<p>如果你想重新创建整个小部件,你应该清除它的所有布局项,或者用一个新的空的来替换这个布局,如本文所述,sopost <a href="https://stackoverflow.com/questions/10416582/replacing-layout-on-a-qwidget-with-another-layout">replacing layout on a QWidget with another layout</a>(你不能多次调用<code>setLayout()</code>,但可以传输布局!)。在</p>