我試圖讓一個小例子,對於涉及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