Проблема такая:
1 - тап по кнопке не отрабатывает
2 - Повторный тап по кнопке отрабатывает
Под Виндой(от тачпада ,мышки - все поет и пляшет) собираю под андрид кнопка "отмена" срабатывает со второго тапа.
собственно исходники:
https://cloud.mail.ru/public/CENr/AjGTFE11S (https://cloud.mail.ru/public/CENr/AjGTFE11S)
main.qml
import QtQuick 2.8
import QtQuick.Window 2.2
import QtQuick.Controls 2.0
Window {
visible: true
width: 640
height: 480
signal start
property alias progress:progress
Progress{
id:progress
objectName: "progress"
onVisibleChanged: visible?buttonStart.visible=false
:buttonStart.visible=true
function iterProc(text){
iter.text=text
console.log("----------",text)
}
}
Button{
id:buttonStart
text: "START"
anchors.centerIn: parent
onClicked: {
progress.visible=true
start()
}
}
}
Progress.qml
import QtQuick 2.0
import QtQuick.Controls 2.0
Item {
id:prog
anchors.fill: parent
visible: false
property alias iter:iter
Column{
id:progressVisable
spacing: 12
anchors.centerIn: parent
BusyIndicator {
id: busyIndicator1
anchors.horizontalCenter: progressVisable.horizontalCenter
Text {
id: iter
color: "#f48fb1"
anchors.centerIn: busyIndicator1
text: "0%"
}
}
Rectangle{
id:bootomExit
width: 100
height: 100
anchors.horizontalCenter: progressVisable.horizontalCenter
color: "#303030"
border.color: "#f48fb1"
border.width: 1
radius: 100
Text {
color: "#f48fb1"
anchors.centerIn: bootomExit
font.pointSize: 18
text: qsTr("Отмена")
}
MouseArea{
id:bootomExitClick
anchors.fill: parent
onPressed: {
// progressExit()
prog.visible=false
}
}
}
}
}
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include "test.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject* root = engine.rootObjects()[0];
Test *test= new Test(root);
QObject::connect(root, SIGNAL(start()),
test, SLOT(start()));
QObject::connect(test, SIGNAL(slotIter(QVariant)),
root->findChild <QObject*>("progress"), SLOT(iterProc(QVariant)));
return app.exec();
}
Test.h
#ifndef TEST_H
#define TEST_H
#include <QObject>
#include<QApplication>
class Test : public QObject
{
Q_OBJECT
public:
explicit Test(QObject *parent = 0);
signals:
void slotIter(QVariant iter);
public slots:
void start();
};
#endif // TEST_H
Test.cpp
#include "test.h"
Test::Test(QObject *parent) : QObject(parent)
{
}
void Test::start()
{
int iter=0;
while (iter<=1000) {
emit slotIter(iter);
iter++;
qApp->processEvents();
}
}
Граждане программисты помогите пожалуйста(любителю)разобраться!!!