• <menu id="w2i4a"></menu>
  • logo Qt使用教程

    文檔首頁(yè)>>Qt使用教程>>Qt使用教程:使用Qt Quick UI表單(三)

    Qt使用教程:使用Qt Quick UI表單(三)


    <Qt Enterprise最新版下載>

    實(shí)現(xiàn)主視圖的應(yīng)用邏輯

    新項(xiàng)目向?qū)⒛0宕a添加到main.qml文件中來(lái)創(chuàng)建菜單項(xiàng)和按鈕。通過(guò)刪除舊的代碼和添加新的代碼修改模板代碼。您可以從UI表單中刪除按鈕,同時(shí)還需要從main.qml中刪除相應(yīng)的代碼(或應(yīng)用程序不能被創(chuàng)建)。

    指定主視圖的大小

    該向?qū)?chuàng)建一個(gè)ApplicationWindow類(lèi)型和一個(gè)MainForm類(lèi)型來(lái)指定應(yīng)用程序主視圖。輸入應(yīng)用程序的名稱(chēng)作為標(biāo)題屬性的值。當(dāng)按鈕被點(diǎn)擊時(shí),通過(guò)刪除舊的行所調(diào)用函數(shù)來(lái)清理MainForm代碼:

    MainForm {
    anchors.fill: parent
    button1.onClicked: messageDialog.show(qsTr("Button 1 pressed"))
    button2.onClicked: messageDialog.show(qsTr("Button 2 pressed"))
    }

    ApplicationWindow類(lèi)型中刪除width和height屬性,并在MainForm類(lèi)型中使用一個(gè)布局類(lèi)型來(lái)設(shè)置主視圖的最小值和首選大小。想要使用布局,可導(dǎo)入QtQuick Layouts:

    import QtQuick.Layouts 1.1

    然后指定MainForm的以下屬性:

    MainForm {
    anchors.fill: parent
    Layout.minimumWidth: 800
    Layout.minimumHeight: 480
    Layout.preferredWidth: 768
    Layout.preferredHeight: 480
    創(chuàng)建表視圖模型

    在表視圖中使用列表模式顯示客戶數(shù)據(jù)。因?yàn)榱斜砟J绞菑膸讉€(gè)不同的.qml文件中讀取的,通過(guò)在CustomerModelSingleton.qml中定義一個(gè)singleton類(lèi)型并在main.cpp注冊(cè)來(lái)訪問(wèn)它。這樣,就不必依賴(lài)QML context作用域規(guī)則來(lái)訪問(wèn)列表模型。

    1.在Projects視圖中,右鍵單擊qml.qrc并選擇Add New > Qt > QML File (Qt Quick 2)來(lái)創(chuàng)建CustomerModelSingleton.qml文件并將其添加到項(xiàng)目中。

    2.從CustomerModelSingleton.qml中復(fù)制實(shí)現(xiàn)。

    3.在main.qml中添加以下代碼到MainForm來(lái)訪問(wèn)列表模型:

    tableView1.model: CustomerModel
    
    Component.onCompleted: CustomerModel.selection = tableView1.selection

    4.在main.cpp文件中注冊(cè)singleton類(lèi)型,包含Qt QML模塊并在初始化函數(shù)中調(diào)用qmlRegisterSingletonType()函數(shù):

    ...
    #include <QtQml>
    
    int main(int argc, char *argv[])
    {
    QApplication app(argc, argv);
    
    QUrl resourceUrl(QStringLiteral("qrc:/CustomerModelSingleton.qml"));
    qmlRegisterSingletonType(resourceUrl, "my.customermodel.singleton", 1, 0, "CustomerModel");

    5.在main.qml中想要使用已經(jīng)注冊(cè)的singleton類(lèi)型,您必須導(dǎo)入singleton類(lèi)型:

    import my.customermodel.singleton 1.0
    購(gòu)買(mǎi)Qt Enterprise最新正版授權(quán)!詳情請(qǐng)"咨詢(xún)?cè)诰€客服"
    新年新禧新氣象,送禮送福送優(yōu)惠!優(yōu)惠詳情點(diǎn)擊查看>>
    掃碼咨詢(xún)


    添加微信 立即咨詢(xún)

    電話咨詢(xún)

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();