Russian Qt Forum
Ноябрь 23, 2024, 06:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: не пойму что происходит  (Прочитано 1666 раз)
shtrix
Гость
« : Май 10, 2017, 08:01 »

Проблема такая:
1 - тап по кнопке не отрабатывает
2 - Повторный  тап по кнопке отрабатывает
 
Под Виндой(от тачпада ,мышки - все поет и  пляшет) собираю под андрид кнопка "отмена" срабатывает со второго тапа.

собственно исходники:
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();
    }
}

Граждане программисты помогите пожалуйста(любителю)разобраться!!!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.149 секунд. Запросов: 20.