Просмотр сообщений
|
Страниц: [1] 2 3 ... 15
|
1
|
Qt / Qt Quick / Re: Написать свой GraphsView
|
: Май 16, 2024, 22:40
|
В общем долго я капался и понял что придется ве писать руками. То есть создать свой ValueAxis и полотно координатное на котором и надо что то отрисовывать. В моем случаи сплайны. Я начал с создания шкалы VulueAxis, а котором я по оси Y распологаю тики, так же по оси X есть второй аналог ValueAxis. Для рисования я пока пробую использовать Shape Shape { anchors.fill: parent
ShapePath { strokeWidth: 3 strokeColor: "darkgray"
PathPolyline { path: root.flowDiagram.resultLines } } }
Но попытка передать таким путем набор точек выглядит как оооочень маленький обьект нарисованный в перхнем левом углу. Суть проблемы: мне надо на основе имеющихся координат из ValueAxis сообщать полотну где у него находятся нужные мне точки чтобы рисуемая кривая соответствовала нужным точкам. Может кто посоветовать что-то на этот счет?
|
|
|
3
|
Qt / Qt Quick / Написать свой GraphsView
|
: Май 04, 2024, 15:37
|
Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать хотябы с минимальным набором функционала свой GraphsView. А это значит мне надо сделать и центральную сетку с координатами и ValueAxis. Мог бы кто посоветовать из чего должен например ValueAxis состоять? То есть это жэ набор линий(tickmarks), мажорных со значениями и минорных между ними, где первый и последний четко сверху и снизу самого обьекта. Пробовал вот что-то такое, но не так выглядит Item { id: root
property int minorTickCount: 4 property string titleText: titleText.text property int tickInterval: 5 // колличество долей и значений между максимальным и минимальным значением property double min: 0 property double max: 4
width: 50 height: 120
Text { id: titleText text: qsTr("ValueAxis") rotation : 270 anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left }
Rectangle { id: mainLine
width: 1 height: parent.height anchors.right: parent.right color: "black" }
ColumnLayout { // anchors.fill: parent anchors.right: mainLine.left anchors.top: root.top anchors.bottom: root.bottom
Repeater { model: 8
delegate: Rectangle { width: root.width / 2 height: 2 color: "#44ff0000" } } } }
Посоветуйте пожалуйста. Спасибо
|
|
|
4
|
Qt / Qt Quick / Интерполяция кубическим сплайном
|
: Апрель 23, 2024, 16:59
|
Всем привет. В уже достаточно старом QChart можно было рисовать сплайны, но он не пригоден для использования. В версии 6.7 в техническом превью появился новый игрок QGraphs но на данном этапе он рисует только прямые от точки до точки. Имеется еще вот такое поделие https://doc.qt.io/qt-6/qml-qtquick-pathcurve.html но там используется богомерский Canvas. Может кто знает каким путем можно сплайны рисовать? Может кто сталкивался с подобным? Спасибо.
|
|
|
7
|
Qt / Qt Quick / Re: Найти и выделить слово в TextArea
|
: Апрель 09, 2024, 20:57
|
Так QSyntaxHighlighter именно для подсветки, дабы сразу подсветить во всем тексте искомую фразу (при этом не искажая формат текста).
С QML не работаю, но:
У QTextEdit есть document(). У QTextDocument есть find() возвращающий QTextCursor (с выделением искомого). Дальше QTextEdit::setTextCursor, и на всякий случай есть QTextEdit::ensureCursorVisible(), который «scrolling the text edit if necessary».
Вижу так.
Ну так у меня вопрос же касался Quick а не виджетов, и мне класс не нужен, и таких методов нету у меня дял применения.
|
|
|
8
|
Qt / Qt Quick / Re: Найти и выделить слово в TextArea
|
: Апрель 09, 2024, 17:34
|
А вы случайно не пробовали такой метод для выделения? Получается выделить слово но вот как скрол заставить на позицию того слова перейти. это не срабатывает
|
|
|
9
|
Qt / Qt Quick / Re: Найти и выделить слово в TextArea
|
: Апрель 05, 2024, 16:21
|
Нашел вариант, пробижаться по тексту и найти индекс начала и конца слова, и через метод select() с 2 аргументами выделить слово. Но вот есдинственное что не могу найти, так это как отобразить ту область в тексте где найдено слово. Как понимаю надо наверное перейти к курсору. Может кто подсказать, вдруг имели опыт.
|
|
|
13
|
Qt / Model-View (MV) / Re: Передача из модели QAbstractListModel QList<QPointF> в qml
|
: Февраль 21, 2024, 12:04
|
покажи как ты в коде передаешь. судя по ошибке (constructor for ... QQmlPointFValueType to call with value ... QVariantList), ты пытаешься засунуть список точек туда, где ожидается лишь одна точка (не списочная)
Вы были правы, я вместо required property list<point> ePoints пытался подсунуть required property point ePoints Но все равно не моуг нарисовать обьект. Вот так выглядит выпис в модели перед получением точек list: QVariant(QList<QPointF>, QList(QPointF(300.451,51.5492), QPointF(309.439,50.8578), QPointF(310.13,41.8697), QPointF(301.142,42.5611), QPointF(300.451,51.5492))) А вот код в qml Repeater { id: repeaterLimitShape
model: root.pelData.gaugeLimitModel anchors.fill: parent
delegate: Shape { id: delegateLimitShape
required property list<point> ePoints
anchors.fill: parent layer.samples: 8
ShapePath { id: trackShapeLimit
capStyle: Qt.FlatCap strokeColor: "red" fillColor: "red" strokeWidth: 1
Component.onCompleted: { console.log("ePoints: ", delegateLimitShape.ePoints) }
PathPolyline { id: ppl
path: delegateLimitShape.ePoints
} } } }
Выпис в консоли выглядит вот так Тут я немного в растерянности.
|
|
|
14
|
Qt / Model-View (MV) / Передача из модели QAbstractListModel QList<QPointF> в qml
|
: Февраль 20, 2024, 22:43
|
Всем привет. У меня имеется в qml репитер для нескольких Shape, и чтоыб его нарисовать мне надо каждому передать лист QPointF И может я что-то не так с этим листом делаю но у меня идет в консоли такой выпис Could not find any constructor for value type QQmlPointFValueType to call with value QVariant(QVariantList, QList(QVariant(QPointF, QPointF(300.451,51.5492)), QVariant(QPointF, QPointF(300.451,51.5492)), QVariant(QPointF, QPointF(300.451,51.5492)), QVariant(QPointF, QPointF(300.451,51.5492)), QVariant(QPointF, QPointF(300.451,51.5492)))) PathPolyline: path of type 26 not supported
Может кто подскажет как правильно лист точек передать репитеру? Спасибо
|
|
|
15
|
Qt / Qt Quick / Re: Расположение страницу pdf по центру окна
|
: Январь 17, 2024, 13:00
|
По поводу центровки для pageHolder я понял(я вроде пробовал раньше но чет было не так). Но вот вопрсо что происходит если растянуть по ширине fitToWidth? Страница уже имеет не правильную шинину, а должна быть растянута в ширину по паренту. С зумом там тоже все не очень с позиционированием. В общем задавать жесткие размеры ширины для pageHolder не очень хороший вариант.
|
|
|
|
|