16,235
社区成员
发帖
与我相关
我的任务
分享
import QtQuick 2.0
import QtQuick.Controls 1.3
Rectangle {
function loadFocus() {
edit.forceActiveFocus();
console.log("test");
}
color:"blue";
id:test;
focus: true;
TextInput {
objectName: "edit";
anchors.left: parent.left;
anchors.top: parent.top;
width:100;
height:100;
id:edit;
focus: true;
}
}
#include "inputwidget.h"
#include <QVBoxLayout>
#include <QPushButton>
#include <QDebug>
#include <QTextEdit>
#include <QApplication>
#include <QMouseEvent>
InputWidget::InputWidget(QWidget *parent) : QWidget(parent)
{
m_pQuickView = new QQuickView();
m_pQuickView->setMinimumSize(QSize(200,200));
m_pQuickView->setClearBeforeRendering(false);
m_pQuickView->setResizeMode(QQuickView::SizeRootObjectToView);
m_pQuickView->setSource(QStringLiteral("qrc:/InputWidget.qml"));
QWidget *container = QWidget::createWindowContainer(m_pQuickView, this);
container->setMinimumSize(QSize(200,200));
QPushButton* btn = new QPushButton();
btn->setText("test");
connect(btn,SIGNAL(clicked(bool)),this,SLOT(onClick()));
QVBoxLayout* layout = new QVBoxLayout;
layout->addWidget(btn);
layout->addWidget(container);
layout->setMargin(0);
setLayout(layout);
}
void InputWidget::onClick() {
QObject* obj = (QObject*)m_pQuickView->rootObject();
QMetaObject::invokeMethod(obj,"loadFocus");
}