2011-12-31 21 views

回答

2

大概有必須對您的用戶可以添加和編輯的內容有所限制?

如果是這樣,那麼也許你可以採取更結構化的方法,並使用QWizard爲設計和編輯表單提供一個簡單的界面。該向導會生成ui文件,然後使用uic module(如果您使用的是PyQt4,因爲它不包含QUiLoader類)將加載到您的應用程序中。

當然,爲了達到這個目的,您需要修改當前的動態生成表單的過程,以便它也可以與ui文件一起使用。

編輯

它看起來像QAbstractFormBuilder爲雙方提供加載和保存小部件作爲UI文件的API。它是QtDesigner模塊的一部分,現在包含在PyQt4中。儘管如此,我對load()save()方法的簡短實驗沒有產生非常有用的結果 - 但希望其他人能有更多的運氣。個人而言,如果我正在設計這樣的應用程序,我更願意使用合適的XML庫(Qt's或幾個Python標準庫模塊之一)自己生成ui文件。表單佈局的結構非常簡單和規則,所以ui文件不應太難複製。這樣做的主要好處是可以完全控制輸入和輸出。

+0

是的,我正在使用PyQt4,>該向導會生成ui文件,然後使用uic模塊將其加載到您的應用程序中<但是,我將如何生成該ui文件? – warvariuc 2012-01-01 08:30:03

+0

@warvariuc。我已經更新了一些更多的信息。 – ekhumoro 2012-01-01 19:33:36

+0

感謝您的QAbstractFormBuilder鏈接 - 將看到我可以如何使用它。 – warvariuc 2012-01-02 07:27:11

0

有一個在QUiLoader的load(),但沒有保存():

http://developer.qt.nokia.com/doc/qt-4.8/quiloader.html#load

的UI文件格式記錄,並且是XML。所以,你可以寫自己的.UI文件生成:

http://developer.qt.nokia.com/doc/qt-4.8/designer-ui-file-format.html

事實上,你可以攻擊周圍這個問題的另一種方式。而不是使用編程式窗口小部件API調用生成對話...而是使用XML生成一個.UI文件。然後,您可以將其加載到您的應用程序或通過QtDesigner。

(取決於你的應用程序是或打算這樣做,你也可以尋找到重新思考它作爲一個QtDesigner插件......在這種情況下,該功能可能免費的。)

+0

感謝您的鏈接。 >將其重新考慮爲QtDesigner插件 warvariuc 2011-12-31 19:01:12

相關問題