Solved Why can't ie11 load the DLL generated by the qt-5.6/activeqt-hierarchy-example?
-
Is... there? Why is the activeQT window's size less than QT Createor window's size when I set the size of 'WIDTH' and 'HEIGHT' Properties of ActiveQT Object in javascript?
The following screenshots and code
link text<object ID ="osgActiveGLQT" WIDTH = "900" HEIGHT = "600" CLASSID="CLSID:B0545661-8607-43BA-A1C2-B43C0A93D976"> [Object not available! Did you forget to build and register the server?] </object>
#ifndef ActiveQTOSGWidget_H #define ActiveQTOSGWidget_H #include <iostream> #include <QtWidgets/QWidget> #include <QtWidgets/QLayout> #include <QtWidgets/QApplication> #include <QtWidgets/QLCDNumber> #include <QTimer> #include <QMessageBox> #include <osgViewer/CompositeViewer> #include <osgViewer/ViewerEventHandlers> #include <osgGA/MultiTouchTrackballManipulator> #include <osgDB/ReadFile> #include <osgQt/GraphicsWindowQt> #include <osg/PolygonOffset> class ActiveQTOSGWidget : public QWidget { public: ActiveQTOSGWidget(QWidget *parent = 0); public: virtual void paintEvent(QPaintEvent* event) { // Update the camera QPainter paint(this); QPen pen; pen.setColor(QColor(255, 0, 0)); QBrush brush(QColor(255, 0, 0)); paint.setPen(pen); paint.setBrush(brush); int ss = width(); paint.drawRect(0, 0, width(), height()); } }; #endif // OSGVIEW_H
#ifndef OSGACTIVEGLQT_H #define OSGACTIVEGLQT_H #include <iostream> #include <QtWidgets/QWidget> #include <ActiveQt/QAxBindable> #include <QtWidgets/QLayout> #include <QtWidgets/QApplication> #include <QtWidgets/QLCDNumber> #include <QTimer> #include <QApplication> #include <QDesktopWidget> #include <QMessageBox> #include <QPushButton> #include "ui_osgactiveglqt.h" #include "ActiveQTOSGWidget.h" class osgActiveGLQT : public QWidget,public QAxBindable { Q_OBJECT public: osgActiveGLQT(QWidget *parent = 0); private: Ui::osgActiveGLQTClass ui; }; #endif // OSGACTIVEGLQT_H
-
Hmm it works for me, I tried with the hierarchyax sample and when I set WIDTH and HEIGHT in test.html:
.. <p> This widget can have many children! </p> <object ID="ParentWidget" WIDTH = "900" HEIGHT = "600" CLASSID="CLSID:d574a747-8016-46db-a07c-b2b4854ee75c" [Object not available! Did you forget to build and register the server?] </object><br /> ...
the ActiveQt window is set to 900x600:
-
@hskoglund
oh~~ How to get the widget window from HWND in Qt5?The following QT4 code
QWidget *myWidget; HWND hwnd; myWidget=QWidget::find(hwnd);
-
In Qt5 I think you have to step through all the QWidgets and look for a HWND match, like this:
QWidget *myWidget = nullptr; HWND hwnd; for (auto w : findChildren<QWidget*>()) if (hwnd == (HWND) w->winId()) myWidget = w;
-
Thank you very much.
How does the following lambda qt5 code translate into a normal slot for the singleshot in QT4?
QTimer::singleShot(value * 1000,[this] { signalFromQt("Hello no.:" + QString::number(++i)); });
-
@mirro
Qt4 does not support lambdas as far as i know as it must use the new connect syntax that came in Qt5.
So in Qt4 you have to use a normal slot for the singleshot. -
How does the following lambda qt5 code translate into a normal slot for the singleshot in QT4?
[this] { signalFromQt("Hello no.:" + QString::number(++i)); } -
@mirro
QTimer::singleShot(0, this, SLOT(theslot()));like any other slot
theslot must be in the class that is /this/
the i variable must be also be a class member of same class -
@hskoglund
Start with C++ in Qt, emit a signal from there into IE11,Can it be implemented in QT4?QTimer::singleShot(value * 1000,[this] { signalFromQt("Hello no.:" + QString::number(++i)); });
-
@mirro
Hi
As told, Qt4 has no lamdas./ the new connect syntax.
so no you cannot use that syntax in Qt4.