Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / qt / 2014-02

V2.6Alpha

7 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

max

I tested "V2.6Alpha" It works wery well with Qt 5.2 (only PageControl has problems )

But I have few questions :

[1] Why you change "function" to "procedure" ? For example: QHoverEvent_pos , QMouseEvent_pos, QMouseEvent_globalPos, QMouseEvent_globalPos,
QContextMenuEvent_pos, QContextMenuEvent_globalPos After that lazarus\lcl\interfaces\qt is not backwards compatible. In may place I must

   {$IFDEF QT_5}
   {$ELSE}
   {$ENDIF}

To compile my application with "V2.6Alpha" with Qt5.2

[2] In your opinion what is best way to add Qt5 to lazarus: a) Use current qt widgetset lazarus\lcl\interfaces\qt and all difference put into

   {$IFDEF QT_5}
   {$ELSE}
   {$ENDIF}

b) or Create new widgetset qt5 lazarus\lcl\interfaces\qt5

[3]
Have you widgetset for lazarus for qt5 ?

Max

zeljko
to max
max wrote 15 lines
I tested "V2.6Alpha" It works wery well with Qt 5.2 (only PageControl has problems ) But I have few questions : [1] Why you change "function" to "procedure" ? For example: QHoverEvent_pos , QMouseEvent_pos, QMouseEvent_globalPos, QMouseEvent_globalPos, QContextMenuEvent_pos, QContextMenuEvent_globalPos After that lazarus\lcl\interfaces\qt is not backwards compatible. In may place I must {$IFDEF QT_5} {$ELSE} {$ENDIF} To compile my application with "V2.6Alpha" with Qt5.2

Den will answer.

Show quoted text 8 lines
[2] In your opinion what is best way to add Qt5 to lazarus: a) Use current qt widgetset lazarus\lcl\interfaces\qt and all difference put into {$IFDEF QT_5} {$ELSE} {$ENDIF} b) or Create new widgetset qt5 lazarus\lcl\interfaces\qt5

Will be lcl/interfaces/qt5. Don't want mess like with gtk/gtk2 few yrs ago.But of course most of code will be copied there from qt4.

[3] Have you widgetset for lazarus for qt5 ?

Not yet. I'm not satisfied with same bindings (all in one libQt4Pas)...waiting to see if it's possible to create splitted bindings: libQt5CorePas, libQt5GuiPas, libQt5NetworkPas,libQt5OpenGLPas etc....

zeljko

MariuszB
to zeljko

W dniu 2014-02-03 07:27, zeljko pisze:

Show quoted text 20 lines
On 02/02/2014 11:21 PM, max wrote: > I tested "V2.6Alpha" It works wery well with Qt 5.2 > (only PageControl has problems ) > > But I have few questions : > > [1] Why you change "function" to "procedure" ? For example: .... Den will answer. > > [2] In your opinion what is best way to add Qt5 to lazarus: > a) Use current qt widgetset lazarus\lcl\interfaces\qt and all > difference put into > {$IFDEF QT_5} > {$ELSE} > {$ENDIF} > b) or Create new widgetset qt5 lazarus\lcl\interfaces\qt5 Will be lcl/interfaces/qt5. Don't want mess like with gtk/gtk2 few yrs ago.But of course most of code will be copied there from qt4.

A little more work but better for the future.

Show quoted text 9 lines
> > [3] > Have you widgetset for lazarus for qt5 ? Not yet. I'm not satisfied with same bindings (all in one libQt4Pas)...waiting to see if it's possible to create splitted bindings: libQt5CorePas, libQt5GuiPas, libQt5NetworkPas,libQt5OpenGLPas etc....

In my opinion it does not matter is a single file or several, If I compile my Qt ./configure -no-opengl -no-webkit then when compile bindings "qmake Qt5Pas.pro; make " should know what is in my Qt and enable/disable some future.
Or Qt5Pas.pro shold have "option to set" for example

CONFIG += opengl ; Set if you have Opengl compiled CONFIG += webkit ; Set if you have webkit compiled CONFIG += network ; Set if you have network compiled

webkit {
HEADERS += \
qwebframe_hook.h \
qwebsecurityorigin_hook.h \
qwebdatabase_hook.h \
qwebhistory_hook.h \
qwebhistoryinterface_hook.h \
qwebpage_hook.h \
qwebsettings_hook.h \
qwebview_hook.h

SOURCES += \
qwebframe_hook_c.cpp \
qwebsecurityorigin_hook_c.cpp \
qwebdatabase_hook_c.cpp \
qwebhistory_hook_c.cpp \
qwebhistoryinterface_hook_c.cpp \
qwebpage_hook_c.cpp \
qwebsettings_hook_c.cpp \
qwebview_hook_c.cpp

}

network {
HEADERS += \
qudpsocket_hook.h \
qtcpsocket_hook.h \
qtcpserver_hook.h \
qnetworkaccessmanager_hook.h \
qnetworkreply_hook.h \

SOURCES += \
qudpsocket_hook_c.cpp \
qtcpsocket_hook_c.cpp \
qtcpserver_hook_c.cpp \
qnetworkaccessmanager_hook_c.cpp \
qnetworkreply_hook_c.cpp \

}

zeljko

Mariusz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/qt/attachments/20140203/86aa4225/attachment.html>

Den Jean
to max: I tested "V2.6Alpha" It works wery well with Qt 5.2 (only PageControl has problems ) But…
[1] Why you change "function" to "procedure" ? For example: QHoverEvent_pos , QMouseEvent_pos, QMouseEvent_globalPos, QMouseEvent_globalPos, QContextMenuEvent_pos, QContextMenuEvent_globalPos

This is a consequence of changes between Qt4 and Qt5 in the definition of these functions.
qt4: inline const QPoint &pos() const { return p; } qt5: inline QPoint pos() const { return l.toPoint(); }

The '&' is a pretty important technical difference :-) It is on my TODO list to see if I can do something about it using TQtPoint

Regards,

Jan

Den Jean
to zeljko: Den will answer. Will be lcl/interfaces/qt5. Don't want mess like with gtk/gtk2 few yrs…
AM zeljko wrote
Not yet. I'm not satisfied with same bindings (all in one libQt4Pas)...waiting to see if it's possible to create splitted bindings: libQt5CorePas, libQt5GuiPas, libQt5NetworkPas,libQt5OpenGLPas etc....

I am also working on this.

But I am first cleaning up the binding for the mess that I caused to support an very initial Qt5. The directory layout is different, the location of headers is different. Many templates. Needed to make many fixes to moc.

max
to Den Jean

W dniu 2014-02-03 20:38, Den Jean pisze:

Show quoted text 14 lines
On Monday, February 03, 2014 07:27:09 AM zeljko wrote: > Not yet. I'm not satisfied with same bindings (all in one > libQt4Pas)...waiting to see if it's possible to create splitted > bindings: libQt5CorePas, libQt5GuiPas, libQt5NetworkPas,libQt5OpenGLPas > etc.... I am also working on this. But I am first cleaning up the binding for the mess that I caused to support an very initial Qt5. The directory layout is different, the location of headers is different. Many templates. Needed to make many fixes to moc.

Your binding is "hand made" or have you "magic geneator" ? When next version , V2.6Beta ?

max

Unknown author
to max
Your binding is "hand made" or have you "magic geneator" ?

Magic does not exist in bindings.
99% of code is hard work = i.e. manual fixes = mess :-( There are too many things to deal with.

I always look at other binding in the hope of finding a magic one, but alas, everyone has the same problems.
Only with dynamic languages you can cope more easily with this.

Sometimes other binding are dead before I have had the time to switch :-) QtC binding, Qt Jambi, PySide (almost dead)

If i find time I will look into the libclang based moc of Olivier. I usually go to FOSDEM, but this year I was unable to go, so I missed this: https://fosdem.org/2014/schedule/event/usecasesclangcppparser/

I will release a Qt 5.2 binding soon.
Many internal fixes for the many new classes in Qt 5.2 that are present in Qt 5.1. Not many external changes visible.

I am now working on coping with the module of each class and restructuring the generation in preparation of splitting the lib.