中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

長(zhǎng)春網(wǎng)站制作優(yōu)勢(shì)吉網(wǎng)傳媒寧德市

長(zhǎng)春網(wǎng)站制作優(yōu)勢(shì)吉網(wǎng)傳媒,寧德市,網(wǎng)站建設(shè)與維護(hù)大作業(yè),公司做網(wǎng)站設(shè)計(jì)的首先是創(chuàng)建一個(gè)widget項(xiàng)目 然后需要添加qml和quick的插件使用 QT quickwidgets qml 接著要在界面上創(chuàng)建一個(gè)quickwidget和按鈕 創(chuàng)建一個(gè)c對(duì)象類(lèi) QObjectQml #ifndef QOBJECTQML_H #define QOBJECTQML_H#include <QObject> #include <QDebug> class QObjectQml …

首先是創(chuàng)建一個(gè)widget項(xiàng)目
在這里插入圖片描述
然后需要添加qml和quick的插件使用
QT += quickwidgets qml
接著要在界面上創(chuàng)建一個(gè)quickwidget和按鈕
在這里插入圖片描述
創(chuàng)建一個(gè)c++對(duì)象類(lèi)
QObjectQml

#ifndef QOBJECTQML_H
#define QOBJECTQML_H#include <QObject>
#include <QDebug>
class QObjectQml : public QObject
{Q_OBJECTQ_PROPERTY(QString deviceId READ getDeviceId WRITE setDeviceId)//這里進(jìn)行屬性綁定
public:explicit QObjectQml(QObject *parent = nullptr);//內(nèi)部函數(shù)QString getDeviceId() {return deviceId;}void setDeviceId(QString id);
signals:public slots:void funDemo(QString str);private:QString deviceId;
};#endif // QOBJECTQML_H

cpp實(shí)現(xiàn)文件

#pragma execution_character_set("utf-8")
#include "qobjectqml.h"QObjectQml::QObjectQml(QObject *parent) : QObject(parent)
{}void QObjectQml::setDeviceId(QString id)
{deviceId = id;qDebug()<<"setDeviceId 數(shù)據(jù)庫(kù)發(fā)生改變";
}void QObjectQml::funDemo(QString str)
{qDebug()<<"我是c++函數(shù)被調(diào)用funDemo"<<str;
}

注冊(cè)c++對(duì)象到系統(tǒng)中

#pragma execution_character_set("utf-8")
#include "mainwidget.h"
#include <QApplication>
#include "qobjectqml.h"
#include <QQmlApplicationEngine>
#include <QMetaObject>
#include <QVariant>int main(int argc, char *argv[])
{QApplication a(argc, argv);//將c++類(lèi)以類(lèi)型的方式注冊(cè)到qml中qmlRegisterType<QObjectQml>("QObjectQml.module",1,0,"QObjectQml");MainWidget w;w.show();return a.exec();
}

接著c++的界面對(duì)象中調(diào)用即可

#include "mainwidget.h"
#include "ui_mainwidget.h"
#include <QQmlEngine>#include "qobjectqml.h"
#include <QQmlApplicationEngine>
#include <QMetaObject>
#include <QVariant>MainWidget::MainWidget(QWidget *parent) :QWidget(parent),ui(new Ui::MainWidget)
{ui->setupUi(this);//界面上的quickWidget添加qmlui->quickWidget->setSource(QUrl::fromLocalFile(":/mainqml.qml"));}MainWidget::~MainWidget()
{delete ui;
}
//SF1446179868590
void MainWidget::on_pushButton_clicked()
{QVariant retVal;QMetaObject::invokeMethod((QObject*)ui->quickWidget->rootObject(), /* Qml實(shí)例 */"execute",         /* 函數(shù)名字 */Qt::DirectConnection, /* 連接方式 */Q_RETURN_ARG(QVariant, retVal), /* 標(biāo)記返回值 */Q_ARG(QVariant, "Hello"), /* 輸入?yún)?shù)1 */Q_ARG(QVariant, "world"));/* 輸入?yún)?shù)2 */
}

qml文件的實(shí)現(xiàn)如下:

import QtQuick 2.0
import QObjectQml.module 1.0Rectangle {width: 360height: 360signal finished()Component.onCompleted: {console.log("Hello,Hello")}//cc++的對(duì)象創(chuàng)建,并賦值deviceIdQObjectQml {id: myObject/* 設(shè)置text屬性 */deviceId: "12345"/* 讀取打印text屬性 */Component.onCompleted: console.log(text)}function execute(var1, var2) {console.log("我是qml函數(shù)被調(diào)用")//c++console.log(var1, var2)//c++調(diào)用了qml的此函數(shù)。輸出結(jié)果console.log(myObject.deviceId)//并且輸出QObjectQml對(duì)象的值return true;}Rectangle {id: buttonwidth: 100height: 30color: "red"radius: 5     // 讓我們將矩形的角變圓一點(diǎn),使其更像一個(gè)按鈕anchors.centerIn: parentText {id: buttonTexttext: qsTr("Button")color: "white"anchors.centerIn: parent}MouseArea {//我們將MouseArea設(shè)為與其父級(jí)(即矩形)一樣大。因此,按下按鈕上的任意位置都會(huì)觸發(fā)事件anchors.fill: parent// Exploit the built-in "clicked" signal of the MouseArea component to do something when the MouseArea is clicked.//請(qǐng)注意,與信號(hào)關(guān)聯(lián)的代碼是純JavaScript。我們可以使用其ID引用任何QML對(duì)象onClicked: {buttonText.text= qsTr("Clicked");buttonText.color= "black";myObject.deviceId = "ok不ok";myObject.funDemo("我靠");//qml點(diǎn)擊事件中去調(diào)用c++的函數(shù)}}}
}

運(yùn)行結(jié)果如下:
在這里插入圖片描述

http://www.risenshineclean.com/news/44734.html

相關(guān)文章:

  • 做一公司網(wǎng)站上優(yōu)化seo
  • 自建站多少錢(qián)寧波免費(fèi)建站seo排名
  • 北京常用網(wǎng)站seo點(diǎn)擊排名軟件哪里好
  • 如何利用國(guó)外網(wǎng)站做自媒體新聞 今天
  • 長(zhǎng)沙專(zhuān)業(yè)做網(wǎng)站公司有哪些武漢服裝seo整站優(yōu)化方案
  • 最近日本mv字幕免費(fèi)觀看視頻中國(guó)優(yōu)化網(wǎng)
  • 計(jì)算機(jī)辦公軟件培訓(xùn)班seo工程師招聘
  • 邯鄲做wap網(wǎng)站的公司百度雙十一活動(dòng)
  • 臨平網(wǎng)站建設(shè)互聯(lián)網(wǎng)營(yíng)銷(xiāo)推廣怎么做
  • 列舉網(wǎng)站開(kāi)發(fā)常用的工具電腦培訓(xùn)班速成班
  • 淘寶網(wǎng)站的建設(shè)目標(biāo)是北京百度seo排名點(diǎn)擊軟件
  • 佛山高明建網(wǎng)站都有什么推廣平臺(tái)
  • sns網(wǎng)站社區(qū)需求分析文檔百度廣告投放公司
  • 軟文推廣有哪些平臺(tái)seo外包方案
  • 網(wǎng)站建設(shè)內(nèi)部問(wèn)卷百度關(guān)鍵詞規(guī)劃師
  • 番禺有經(jīng)驗(yàn)的網(wǎng)站建設(shè)電商培訓(xùn)班一般多少錢(qián)
  • 做棋牌網(wǎng)站要什么源碼上海seo培訓(xùn)中心
  • 做網(wǎng)站流量的方法拼多多seo搜索優(yōu)化
  • 建設(shè)銀行網(wǎng)站登錄視頻號(hào)直播推廣二維碼
  • Php外貿(mào)網(wǎng)站建設(shè)新浪博客長(zhǎng)沙seo關(guān)鍵詞排名優(yōu)化
  • 佛山微網(wǎng)站建設(shè)seo新站如何快速排名
  • 網(wǎng)站建設(shè)崗位職責(zé)西安seo經(jīng)理
  • 全國(guó)網(wǎng)站建設(shè)公司排名無(wú)錫谷歌推廣
  • 如何做網(wǎng)校網(wǎng)站江蘇企業(yè)seo推廣
  • 做眾籌網(wǎng)站成都十大營(yíng)銷(xiāo)策劃公司
  • 杭州做網(wǎng)站的公司排行全國(guó)疫情高峰感染高峰
  • 深圳沙井做公司網(wǎng)站最近最新的新聞
  • woocommerce做零售網(wǎng)站網(wǎng)站排名推廣工具
  • 網(wǎng)站開(kāi)發(fā)需要有什么證書(shū)搜索引擎排名查詢(xún)工具
  • 大連自己的網(wǎng)站大數(shù)據(jù)營(yíng)銷(xiāo)專(zhuān)業(yè)