QML drop and wheel events
-
Hi,
I wonder how I get the drop event handling in a QDeclarativeView to work.
I have a MainWindow with an QDeclarativeView and I set the MainWindow to acceptDrops this works fine.
But now I can't convince my QDeclarativeView to accept drop events.@
this->qml_view = new QDeclarativeView;
this->qml_view->setAcceptDrops(true);
@I thought that this could be the way to get this to work but I can't drop files in this view.
Any ideas what I have to do, to get this to work ?By the way, are there any chances that I can implement mouse wheel events in an qml MouseArea ?
Thanks for help guy ; )
-
[quote author="Schneidi" date="1284671038"]By the way, are there any chances that I can implement mouse wheel events in an qml MouseArea ?[/quote]
This isn't really possible at the moment -- "QTBUG-7369":http://bugreports.qt.nokia.com/browse/QTBUG-7369 tracks this issue. If you need the functionality in the meantime, it should be possible to implement a custom QDeclarativeItem subclass to handle this.
Regards,
Michael -
Ok the wheel event isn't a real problem, I implemented it in the mainWindow and synch it with the qml environment.
But a problem is still the fact that I can't drop files to the mainWindow because I have the
QDeclaritiveView as centralWidget in my main window.How do I drop files into the QDeclarativeView ?
@
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);this->v = new QDeclarativeView; this->setCentralWidget(v); this->v->setSource(QUrl("qrc:/qml_source/test2.qml")); this->v->setResizeMode(QDeclarativeView::SizeRootObjectToView); this->v->setAcceptDrops(true); this->setAcceptDrops(true);
}
@Once I set the QDeclarativeView as central object, I loose the ability to drop files into mainWindow.
-
A mouse up/down can be used in the following code to increment/dec the text value when the cursor is over top the item. What is the best way to make the scroll wheel do the same? Note, I need this for many items on a single screen. With a QDeclarativeItem subclass, would I need to implement the below in C++?
With the "implement in mainWindow and sync with qml", would this approach work and how does it look from a high level?
I'm still climbing the QML learning curve, so so looking for a high level overview or a place to start.
Thanks,
Cliff@
Rectangle {
id: valuebox
smooth: true
anchors.margins: 10
radius: 10
property color default_color: "white"
color: default_color
property alias text: text.text
property alias text_color: text.color
property int default_pixel_sizeText { id: text anchors.centerIn: parent; anchors.verticalCenterOffset: -1 font.pixelSize: parent.width > parent.height ? parent.height * .5 : parent.width * .5 color: "white" style: Text.Sunken styleColor: "black" smooth: true } Keys.onUpPressed: { text.text = text.text - (-1) } Keys.onDownPressed: { text.text = text.text - 1 } MouseArea { anchors.fill: parent hoverEnabled: true onEntered: { default_pixel_size = text.font.pixelSize text.font.pixelSize = default_pixel_size + 5 parent.color = "yellow" valuebox.focus = true } onExited: { text.font.pixelSize = default_pixel_size parent.color = default_color valuebox.focus = false } }
}
@