Другой вариант - заменить install -y lxc-docker
в скрипте на install -y lxc-docker-<version>
.
Например, это установит docker 1.6.2
:
RUN wget -qO- https://get.docker.com/ubuntu/ | sed -r 's/^apt-get install -y lxc-docker$/apt-get install -y lxc-docker-1.6.2/g' | sh
Я не понимаю использование класса Plot, это кажется ненужным, потому что единственное, что вы делаете, это переслать полученный сигнал. Если вы хотите изменить цвет, вы можете сделать это напрямую, используя только QML
, в следующем примере случайные цвета генерируются каждый раз при нажатии кнопки.
main.qml
import QtQuick 2.0
import QtQuick.Controls 2.1
import QtQuick.Controls.Material 2.1
import QtQuick.Layouts 1.2
ApplicationWindow {
visible: true
width: 640
height: 240
title: qsTr("Function plot")
Material.theme: Material.Dark
property color plotColor : "blue"
onPlotColorChanged: canv.requestPaint()
GridLayout {
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
anchors.margins: 9
columns: 4
rows: 4
rowSpacing: 10
columnSpacing: 10
Text {
color: "whitesmoke"
text: qsTr("Left bound")
}
TextField {
id: left_bound
}
Text {
color: "whitesmoke"
text: qsTr("Right bound")
}
TextField {
id: right_bound
}
ComboBox{
model: ['cos', 'sin', 'x^2']
}
Button {
height: 40
Layout.fillWidth: true
text: qsTr("Build plot")
onClicked: plotColor = Qt.rgba(Math.random(),Math.random(),Math.random(),1);
}
Canvas {
id: canv
Layout.fillWidth: true
height: 500
Layout.columnSpan: 4
onPaint: {
var ctx = getContext("2d");
ctx.fillStyle = plotColor;
ctx.fillRect(0, 0, width, height);
}
}
}
}
Если вы хотите увеличить масштаб / увеличить масштаб, вы можете использовать функцию масштабирования , чтобы вы могли также реализовать макет различных графических объектов.
С другой стороны, я думаю, что проще всего использовать модуль QtCharts , вы уже выполнили все такие задачи.
Если вам не нужно создавать классы на python / C ++, то есть, если вы можете сделать все в QML
, это намного проще, поэтому я указываю, что я не вижу необходимости в классе Plot.
Если вы видите, что Qt Charts не достаточно, или вы не хотите использовать холст, и вы более знакомы с python, вы можете создать свой собственный холст, используя класс QQuickPaintedItem
.