找回密码
 立即注册
收起左侧

如何在qml中动态添加 text,希望使用于 c++ 混编的方式

1
回复
7388
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2018-6-7 22:47:47 显示全部楼层 |阅读模式
1Qter豆
本帖最后由 king23 于 2018-6-7 22:49 编辑


希望实现的是,在open后选择若干文件,确定,然后在界面的空白的地方,每个文件路径显示一行,如果路径很长希望能自动换行。
关于动态添加好像有两种方法 一个是使用 js ,另一个是使用 c++ binding. 不知我了解到是否准确。希望使用后一种方法。
上面描述的功能我不知道如何实现。请高手帮助。
  1. import QtQuick 2.4
  2. import QtQuick.Controls 1.4
  3. import QtQuick.Dialogs 1.1
  4. import QtQuick.Layouts 1.1


  5. Item
  6. {
  7.     id:root

  8.     width: 400
  9.     height: 800
  10. //    anchors.fill: parent

  11.     //! [filedialog]
  12.     FileDialog {
  13.         id: fileDialog
  14.         modality: Qt.NonModal
  15.         title: "Choose some files"
  16.         selectExisting: true
  17.         selectMultiple: true
  18. //        selectFolder: fileDialogSelectFolder.checked
  19.         nameFilters: [ "Image files (*.png *.jpg)", "All files (*)" ]
  20.         selectedNameFilter: "All files (*)"
  21.         sidebarVisible: true
  22.         onAccepted: {
  23. //            console.log("Accepted: " + fileUrls)
  24.             for (var i =0 ; i < fileUrls.length; i++) {
  25.                 console.log("Accepted: " + fileUrls[i])
  26.             }
  27.         }
  28.         onRejected: { console.log("Rejected") }
  29.     }
  30.     //! [filedialog]

  31.     ColumnLayout{
  32.         anchors.fill: parent
  33.         RowLayout {
  34.             Label {
  35.                 Layout.alignment: Qt.AlignCenter
  36.                 text: qsTr("File path :")
  37.             }
  38.             TextField {
  39.                 id: filePathField
  40.                 Layout.alignment: Qt.AlignCenter
  41.                 Layout.preferredWidth : 200
  42.                 text: fileDialog.fileUrls
  43.             }
  44.             Button {
  45.                 Layout.alignment: Qt.AlignCenter
  46.                 text: "Open"
  47.                 onClicked: fileDialog.open()
  48.             }
  49.         }


  50.         Text {
  51.             text: fileDialog.fileUrls[0]
  52.         }

  53. //        Label {
  54. //            text: {
  55. //                for (var i = 0; fileDialog.fileUrls.length; i++){
  56. //                    fileDialog.fileUrls[i]
  57. //                }
  58. //            }
  59. //        }
  60.         Rectangle {
  61.             Layout.fillHeight: true
  62.         }
  63.     }
  64. }
复制代码



工程已添加到附件


附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

尚未签到

2018-6-10 13:29:00 显示全部楼层
文档里面搜“dynamic object creation”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了