我试图让一个小例子,对于涉及QTreeView则通过QT设计师设计的PyQt的应用程序的工作小例子,QTreeView则用于PyQt的和Qt设计
1)我就可以开始应用这种方式,但如果我推动butten,没有显示TreeView小部件中的条目,我没有收到任何错误消息,布局看起来很好,有没有某种更新方法?
如果你回答,请具体说明,因为我仍然使用Qt和多文档的初学者编写使用C++的例子,我只是有基本的C和Python的一些经验
from PyQt4 import uic, QtGui, QtCore
(Ui_MainWindow, QMainWindow) = uic.loadUiType('main_window.ui')
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.model = QtGui.QStandardItemModel()
self.connect(self.ui.pushButton_NeuesMoebel, QtCore.SIGNAL('clicked()'), self.add_item)
def add_item(self):
t = self.ui.lineEdit_Moebel.text()
if len(t) > 0:
item = QtGui.QStandardItem(t)
self.model.appendRow(item)
self.ui.lineEdit_Moebel.clear()
else:
self.ui.statusBar.showMessage('error: no text in Moebel')
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec_())
2 )另外,有没有比这更直接使用* .ui文件的更简洁的方法,直接对该文件的MainWindow进行子类化? 3)例如,在* .ui文件创建的窗口的子类中使用add_item方法会更好,我们应该使用翻译*的中间步骤, .ui文件到一个* .py文件?
问题2和3应当分开出的新问题。但我很确定[this](http://stackoverflow.com/questions/17742673)是你的答案。具体来说就是loadUi函数。 – jkerian 2013-10-21 10:56:29