Просмотр сообщений
|
Страниц: [1] 2 3 ... 15
|
1
|
Qt / Qt Quick / Интерполяция кубическим сплайном
|
: Апрель 23, 2024, 16:59
|
Всем привет. В уже достаточно старом QChart можно было рисовать сплайны, но он не пригоден для использования. В версии 6.7 в техническом превью появился новый игрок QGraphs но на данном этапе он рисует только прямые от точки до точки. Имеется еще вот такое поделие https://doc.qt.io/qt-6/qml-qtquick-pathcurve.html но там используется богомерский Canvas. Может кто знает каким путем можно сплайны рисовать? Может кто сталкивался с подобным? Спасибо.
|
|
|
4
|
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 а не виджетов, и мне класс не нужен, и таких методов нету у меня дял применения.
|
|
|
5
|
Qt / Qt Quick / Re: Найти и выделить слово в TextArea
|
: Апрель 09, 2024, 17:34
|
А вы случайно не пробовали такой метод для выделения? Получается выделить слово но вот как скрол заставить на позицию того слова перейти. это не срабатывает
|
|
|
6
|
Qt / Qt Quick / Re: Найти и выделить слово в TextArea
|
: Апрель 05, 2024, 16:21
|
Нашел вариант, пробижаться по тексту и найти индекс начала и конца слова, и через метод select() с 2 аргументами выделить слово. Но вот есдинственное что не могу найти, так это как отобразить ту область в тексте где найдено слово. Как понимаю надо наверное перейти к курсору. Может кто подсказать, вдруг имели опыт.
|
|
|
10
|
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
} } } }
Выпис в консоли выглядит вот так Тут я немного в растерянности.
|
|
|
11
|
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
Может кто подскажет как правильно лист точек передать репитеру? Спасибо
|
|
|
12
|
Qt / Qt Quick / Re: Расположение страницу pdf по центру окна
|
: Январь 17, 2024, 13:00
|
По поводу центровки для pageHolder я понял(я вроде пробовал раньше но чет было не так). Но вот вопрсо что происходит если растянуть по ширине fitToWidth? Страница уже имеет не правильную шинину, а должна быть растянута в ширину по паренту. С зумом там тоже все не очень с позиционированием. В общем задавать жесткие размеры ширины для pageHolder не очень хороший вариант.
|
|
|
15
|
Qt / Qt Quick / Расположение страницу pdf по центру окна
|
: Январь 16, 2024, 18:21
|
Всем привет. Использую PdfScrollablePageView так как мне надо работать с однйо страницей, скролить если я использовал zoom или растянул по ширине страницу(скрол в данном случаи будет по вертикали). данный обьект наследован от Flickable(начинается большое колличесвто проблем позиционированием и центровкой) по сравнению с PdfpageView. Требуется при открытии растягивать страницу по высоте, иметь background так как нужен цвет фона вне страницы. Этого я добился когда взял исходники PdfScrollablePageView и внутри завернул обьект что отвечает за саму страницу в еще один обьект pageHolder дял фона. Ниже данный кусок кода Rectangle { // добавлен был к исходному коду вот этот обьект id: pageHolder
width: pdfView.width height: image.height color: "color"
Rectangle { id: paper
width: rot90 ? image.height : image.width height: rot90 ? image.width : image.height
property real rotationModulus: Math.abs(root.pageRotation % 180) property bool rot90: rotationModulus > 45 && rotationModulus < 135 property real minScale: 0.1 property real maxScale: 10 anchors.centerIn: parent
PdfPageImage { id: image
document: root.document currentFrame: pageNavigator.currentPage asynchronous: true fillMode: Image.PreserveAspectFit rotation: root.pageRotation property real pageScale: image.paintedWidth / document.pagePointSize(pageNavigator.currentPage).width anchors.centerIn: parent
Shape { anchors.fill: parent visible: image.status === Image.Ready
Вот так выглядит страницу при первом открытии https://ibb.co/ChThkJQИдея рабочая но плохая так как мне пришлось целый файл исходного кода к данному обьекту копировать. И решил попробовать сделать почти по принципу орегинального кода, но снаружи сделал pageHolder что делает вот такой вид и уже не правильный. https://ibb.co/BGhdpwwRectangle { id: root
property alias pageRotation: pdfPageView.rotation property alias document: pdfPageView.document property alias renderScale: pdfPageView.renderScale property alias sourceSize: pdfPageView.sourceSize property real threeWidth: 0
function goToPage(page) { pdfPageView.goToPage(page) }
function scaleToPage() { pdfPageView.scaleToPage() }
function scaleToWidth() { pdfPageView.scaleToWidth() }
Rectangle { id: pageHolder
width: root.width height: root.height color: "red"
PdfScrollablePageView { id: pdfPageView
anchors.fill: parent
И еще один вариант это использовать PdfPageView для которого сделать внешнйи Flickable, но и тут возникли трудности с позиционированием. Flickable { id: flickable
width: root.width height: root.height
contentWidth: pdfPageView.width contentHeight: pdfPageView.height
Rectangle { id: pageHolder
width: root.width height: root.height color: "red" //color: rootViewPdf.pelData.pdfViewerProperties.colorBackground
PdfPageView { id: pdfPageView width: root.width height: root.height } } }
И выглядит это уже совершенно странно, хотя мне кажется это должно быт ьправильным решенеим. Само собою скрол уже тут не работает. https://ibb.co/JzWhnL6Может кто то с этим посоветовать какое то решение?
|
|
|
|
|