• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Użycie clearRect spoza obiektu Canvas

Cloud VPS
–1 głos
143 wizyt
pytanie zadane 2 maja 2016 w JavaScript przez czaro05 Nowicjusz (120 p.)
edycja 3 maja 2016 przez czaro05

Programuję w Qt aplikację Qt Quick. Program rysuje łuk. Chciałbym, żeby po kliknięciu na mouseArea10 usuwał to, co narysował. Ktoś ma pomysł dlaczego nie działa albo jak to powinno wyglądać? Wstawiam kod w formie tekstu (EDIT wcześniej wkleiłem słabo widoczny zrzut), bo nie ma wyszczególnionego języka QML, a wybierając JavaScript nie działa. Oczywiście sam sygnał onClicked działa, coś jest nie tak z dalszym poleceniem.

import QtQuick 2.4

import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2
import QtQuick.Extras 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Window 2.2
import QtQuick.Layouts 1.1

 

 
ApplicationWindow {
    visible: true
    width: 1050
    height: 700
    color: "#b09273"
    title: qsTr("Hello World")

 
    MainForm {
        anchors.fill: parent
        id: mainform
        mouseArea10.onClicked: {mojCanvas.context.clearRect(0, 0, mojCanvas.width, mojCanvas.height)}
    }

 
    Canvas {
        id:mojCanvas
        width: 1050
        height: 590
        anchors.top: parent.top
        anchors.topMargin: 55
        anchors.bottom: parent.bottom
        anchors.bottomMargin: 55

 
        anchors.left: parent.left

 
        anchors.right: parent.right
        contextType: "2d"

 
        Path {
            id: myPath
            startX: 450; startY: 590

 
            PathArc {
                x: 0; y: 269.30848034096934944;
                radiusX: 332.8125 / Math.sin(mainform.dial1.value * Math.PI / 180); radiusY: 332.8125 / Math.sin(mainform.dial1.value * Math.PI / 180);
                useLargeArc: false
                direction: PathArc.Counterclockwise
            }
        }
        onPaint: {
            context.strokeStyle = "indigo";
            context.lineWidth = 3;
            context.path = myPath;
            context.stroke();
        }
    }
}

 

 


 

 

1 odpowiedź

0 głosów
odpowiedź 3 maja 2016 przez Lid$ Mądrala (6,300 p.)
Nie żebym miał tobie w tej kwestii pomóc, bo niezbyt się na tym znam ale nic nie widać.. zdjęć nie da się przybliżyć. Po prostu skopiuj ten skrypt i wklej jako tekst tutaj, bo w ten sposób osoby które będą chciały ci pomóc będą mogli skopiować i przetestować, sprawdzić jakimś validatorem ew. wyczytać coś z tego i tobie pomóc, a jak ktoś widzi zdjęcia na których nic nie widać to wiesz.. ręce opadają :D pozdro

Podobne pytania

0 głosów
2 odpowiedzi 268 wizyt
pytanie zadane 1 marca 2019 w C i C++ przez MikDal Mądrala (5,660 p.)
0 głosów
0 odpowiedzi 184 wizyt
pytanie zadane 28 grudnia 2022 w C i C++ przez M1983 Nowicjusz (120 p.)
+1 głos
3 odpowiedzi 795 wizyt
pytanie zadane 20 lutego 2020 w C i C++ przez niezalogowany

93,453 zapytań

142,448 odpowiedzi

322,717 komentarzy

62,830 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...