因此,这里是我的复杂的问题,我希望你知道答案:)连接QML和Qt
我开发的应用程序为Android使用Qt Necessitas。 我为GUI制作了.ui
文件,我没有找到我真正想要的东西,所以很多人都提出了QML,因为它非常动态并提供了很多选项。
但是问题在于我之前从未使用过QML。
我需要一点帮助,只需要很少的功能,所以我可以知道如何做到以后。
例如。这是我的功能,我称之为使用post方法从数据库读取数据并调用php脚本。
void MainWindow::Citanje_korisnika() //read users
{
init();
QUrl params;
params.addQueryItem("action","Citanje_korisnika");
QByteArray data;
data.append(params.toString());
data.remove(0,1);
QNetworkRequest request;
request.setUrl(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,
QVariant("application/x-www-form-urlencoded"));
reply = manager->post(request, data);
connect(reply, SIGNAL(downloadProgress(qint64, qint64)),this, SLOT(updateDataTransferProgress(qint64,qint64)));
}
所以我的问题是如何调用从QML代码这个功能呢?例如,当用户按下按钮?
之后,我有这个功能,使我的一切都进入我的形式。
void MainWindow::Pokazi(QList< QMap<QString,QString> >& osobe) //show { i_max=osobe.count(); osobe_next=osobe; osoba = osobe.at(0); //trenutni_id=osoba["id"]; ui->label_ID->setText(osoba["id"]); ui->line_ime->insert(osoba["ime"]); ui->line_prezime->insert(osoba["prezime"]); ui->line_telefon->insert(osoba["broj"]); ui->line_adresa->insert(osoba["adresa"]); }
因此,这是我要显示我的名单上的所有人员。
是否有可能将上面的QList加载到QML ListView中看起来像这样? 我可以动态填充它吗?
ListModel { ListElement { name: "Bill Smith" number: "555 3264" } ListElement { name: "John Brown" number: "555 8426" } }
这与已经插入的值仅作为示例。我的问题是如何使它从qml代码动态填充?
而且我想我的名单看起来像在这个环节上第二个画面:http://doc.qt.nokia.com/4.7-snapshot/qml-listview.html
我设法使它看起来像这一点,但问题是,我想动态加载我的数据里面,我不希望它预定。
如果您需要更多的代码,请告诉我。