标题:QML 和 C++ 列表的实现
作者:chensh
日期:2016-04-26 14:10
内容:
新手一枚,根据官方文档和一些大神的说法做了以下关于lisview的实现。但是无法显示(简单的text能显示)。
环境:QT5.6.0 和 vs 2013。
// qmember.h
#ifndef QMEMBERITEM_H
#define QMEMBERITEM_H
#include
#include
class QMemberItem : public QObject
{
Q_OBJECT
Q_PROPERTY(QString id READ uid WRITE setUid NOTIFY uidChanged)
Q_PROPERTY(QString image READ uimage WRITE setUimage NOTIFY uimageChanged)
public:
explicit QMemberItem(QObject *parent = 0);
// user [/colo ..
#1 [ycj211 04-26 16:44]
import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import the.myMemberItem 1.0
Rectangle{
id:member_list
visible: true
color: "green"
width:720
height:640
ListModel{
id: mymodel
}
Component {
id:myDelegate
Item{
id: item_root
height: 120
width: 120
//property QMemberItem myinfo:obj_info// 这个不懂,可能是错误
Image{
id: image_avatar
width: 120
height: 90
source:mem.image
}
Text{
x:20
y:image_avatar.height + 5
tex ..
#2 回 ycj211 的帖子 [chensh 04-27 09:51]
ycj211:import QtQuick 2.4
import QtQuick.Controls 1.3
import QtQuick.Window 2.2
import QtQuick.Dialogs 1.2
import the.myMemberItem 1.0
....... (2016-04-26 16:44)
谢谢您的回答。我用你的这个qml文件试过了,发现还是显示不了。而且我想实现的是动态加载item项,通过信号机制,在QML和C++间进行交互。QML接收C++的数据,然后进行界面显示。而C++负责给QML发送数据,进行逻辑控制。所以想用Connections这个东西。如果您熟悉这个用法,麻烦教一下。
#3 [chensh 04-27 10:58]
经过修改,现在可以实现由C++控制,动态加载item项。本人是初学者,不太懂。代码或UI可能比较粗糙,请大家见谅。代码如下:。修改后的UI,.qml文件如下:
// main.qml
import QtQuick 2.4
import QtQuick.Window 2.2
//import the.myMemberItem 1.0
Item{
id:member_list
visible: true
width:720
height:640
ListModel{
id: mymodel
}
Component {
id:myDelegate
Item{
id: item_root
height: 120
width: 120
Image{
id: image_avatar
width: 120
height: 90
source:userimage
}
Text{
x:20
y:image_avatar.height + 5
text: userid
  ..