Page 1 of 2 12 LastLast
Results 1 to 20 of 26

Thread: QTabWidget / mouseMoveEvent

  1. #1
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default QTabWidget / mouseMoveEvent

    Its me again

    Problem with moiseMoveEvent on the Tab widgets. It does not work on mac.

    When I add two tab widgets and on default switch to second one programatically

    Qt Code:
    1. tabWidget()->setCurrentWidget(secondpage);
    To copy to clipboard, switch view to plain text mode 

    switching back two first one using GUI mouseMoveEvent does not work.

    When I add two tabs without switching "setCurrentWidget(secondpage)" , then clicking on GUI tabs back and forward mouse event always work.

    The below is what I do. I have setMoveMouse set everywhere.

    Qt Code:
    1. void MainWindow::currentTabChanged(int index)
    2. {
    3.  
    4. QWidget *widget = _tabWidget->widget(index);
    5.  
    6. if (widget) {
    7. _tabWidget->setCurrentWidget(widget);
    8. widget->setFocus(Qt::ActiveWindowFocusReason);
    9. widget->activateWindow();
    10. widget->raise();
    11. widget->setVisible(true);
    12. Application::setActiveWindow(widget);
    13. }
    14. }
    To copy to clipboard, switch view to plain text mode 

    What I am missing here ?

    Thanks for help

  2. #2
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    What is "setMoveMouse"?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  3. #3
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    I meant

    Qt Code:
    1. setMouseTracking(bool
    To copy to clipboard, switch view to plain text mode 
    )

  4. #4
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Why did you enable mouse tracking?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  5. #5
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    to track the mouse event ?

  6. #6
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Did you read the docs for this method? I really doubt you want to use it.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  7. #7
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    "If mouse tracking is disabled (the default), the widget only receives mouse move events when at least one mouse button is pressed while the mouse is being moved.
    If mouse tracking is enabled, the widget receives mouse move events even if no buttons are pressed."

    I don't want to track the mouse when a button is pressed. I want track it when ever I mouse over on ? So I guess I need it enabled. No ?

    Explain if no please ?

  8. #8
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Quote Originally Posted by migel View Post
    I don't want to track the mouse when a button is pressed. I want track it when ever I mouse over on ? So I guess I need it enabled. No ?
    Have you considered the fact that QTabWidget already handles mouse events and expects to receive mouse move events only when mouse button is pressed and that you are breaking this functionality with mouse tracking? Also, do your mouse event handlers reimplementations assure that the original functionality is retained? And do you really think I asked why did you enable mouse tracking to hear "because I want to track the mouse"?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  9. #9
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    I am apologize for "because I want to track the mouse" if that hurt you feelings. But if QTabWidget handles mouse events and expects to receive mouse move only when mouse button is pressed so how to fix that if not putting mouse tracking ? I don't want to press the button.

    Also that what I know of any QWidget defaults to receive mouse move event when button is pressed, and doc says that to enable it you gotta enable mouse move tracking.

    So if you saying it actually breaking it so I am very confused. Any way removing it does not fix it. Still need to press the btn to receive the mouse event.

    Any way did not put it into QtabWidget only for a widget added to the TAB and to mainwindow. Adding it to QTabWidget does not help as well.

    Thanks for help
    Last edited by migel; 10th October 2011 at 09:58.

  10. #10
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Quote Originally Posted by migel View Post
    I am apologize for "because I want to track the mouse" if that hurt you feelings.
    Don't worry about my feelings. You are just wasting your time giving such answers. And risk me losing my patience and stopping trying to help you.

    But if QTabWidget handles mouse events and expects to receive mouse move only when mouse button is pressed so how to fix that if not putting mouse tracking ? I don't want to press the button.
    What do you want? Or let me make myself more explicit... what is the ultimate goal you are trying to obtain by handling mouse events in this particular situation?
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  11. #11
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    Each QTabWidget TAB is different. One of the tab is actually a QTableView. In this QTableView I have built a delegate for rows to display text as a hyper links which totally does not work for on mac . Below code works for linux and win, so text is underlined on mouse over a row on a text. I need to put the cursor: pointer as well to really look like a hyperlinks.
    This does not work even for linux and win.

    Qt Code:
    1. if (optionV4.state & QStyle::State_MouseOver) {
    2. doc.setDefaultStyleSheet("a:hover {text-decoration: underline; cursor:pointer;}");
    3. } else {
    4. doc.setDefaultStyleSheet("a {text-decoration: none;cursor:pointer;}");
    5. }
    To copy to clipboard, switch view to plain text mode 

    So instead thought I will get at least working changing cursor by using mouseMoveEvent for all platforms

    Qt Code:
    1. void Table::mouseMoveEvent(QMouseEvent *event)
    2. {
    3.  
    4. this->setCursor( QCursor( Qt::ArrowCursor ));
    5.  
    6. QModelIndex index = indexAt( event->pos());
    7. QStandardItem *item = model()->itemFromIndex(_proxyModel->mapToSource(index));
    8. if (item)
    9. {
    10. if (item->column() == 4 || item->column() == 3 || item->column() == 1 )
    11. {
    12. this->setCursor( QCursor( Qt::PointingHandCursor ));
    13. }
    14.  
    15. }
    16. }
    To copy to clipboard, switch view to plain text mode 


    But a code above works just for a linux and win. No MAC.

    For mac behave is different. When I mouseOver on row nothing happening. But when I press and don't let the mouse button, moving around rows it's doing the job, cursor is changing just fine. But I don't really want to keep the button. It must behave like hyperlinks so thought setMouseTracking will fix it.

    Was wrong it must be something else.


    The real code of QTabWidget for my table keeps the QWidget with controls and table

    so


    Qt Code:
    1. QVBoxLayout *layout = new QVBoxLayout;
    2. layout->addWidget(controls);
    3. layout->addWidget(MyTable()); <- here is my QTableView
    4.  
    5. QWidget *activitiesPage = new QWidget(this);
    6. activitiesPage->setLayout(layout);
    7.  
    8. int index = tabWidget()->addTab(tablePage, "tablePage");
    To copy to clipboard, switch view to plain text mode 

    controls, it is a QToolBar which gives me a buttons to sort the QTableView model.

    - And funny is that when I will press the one of the sort buttons and the model will change, hyperlinks start to work. But the model must actually change.
    - removing controls and tablePage and putting QTableView straight to TAB does not fix it.
    - another funny thing that I automatically add few tabs. QtableView as first ONE. if I comment the below line mouse event works fine as well.

    Qt Code:
    1. tabWidget()->setCurrentWidget(otherpagethenQTableView);
    To copy to clipboard, switch view to plain text mode 

    This gave me to think that this is some focusing problem but any of the commented lines below don't help either.

    Qt Code:
    1. void MainWindow::currentTabChanged(int index)
    2. {
    3.  
    4. QWidget *widget = _tabWidget->widget(index);
    5. if (widget)
    6. {
    7. tabWidget()->setCurrentWidget(widget);
    8. // if (index == 0)
    9. // {
    10. // Mytable()->setFocus();
    11. // Mytable()->activateWindow();
    12. // Mytable()->viewport()->setFocus();
    13. // Mytable()->viewport()->focusWidget();
    14. // Mytable()->viewport()->activateWindow();
    15. // Mytable()->viewport()->setMouseTracking(true);
    16. // Mytable()->viewport()->setEnabled(true);
    17. // Mytable()->viewport()->update();
    18.  
    19. // }
    20. }
    21. }
    To copy to clipboard, switch view to plain text mode 

    AND ITS ALL ABOUT MAC

    Thanks for looking.


    Added after 7 minutes:


    One more

    I use QSortFilterProxyModel to sort a model and removing it does not help.
    Removing delegates does not help either.
    Last edited by migel; 10th October 2011 at 10:25.

  12. #12
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    If you are working with QTableView, why are you reimplementing events for QTabWidget? You should enable mouse tracking for the table's viewport and set a custom delegate with mouse events handled by QAbstractItemDelegate::editorEvent(). And using stylesheets is a definite mistake here, especially that those tend to not work on mac.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  13. #13
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    I don't re implementing except connecting currentTabChanged signal.

    I do viewports

    Qt Code:
    1. // if (index == 0)
    2. // {
    3. // Mytable()->setFocus();
    4. // Mytable()->activateWindow();
    5. // Mytable()->viewport()->setFocus();
    6. // Mytable()->viewport()->focusWidget();
    7. // Mytable()->viewport()->activateWindow();
    8. // Mytable()->viewport()->setMouseTracking(true);
    9. // Mytable()->viewport()->setEnabled(true);
    10. // Mytable()->viewport()->update();
    11.  
    12. // }
    To copy to clipboard, switch view to plain text mode 

    Does not work


    Added after 26 minutes:


    Qt Code:
    1. bool Delegate::editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index)
    2. {
    3. INFO_DEBUGME("mouse move");
    4. if (event->type() == QEvent::MouseMove)
    5. {
    6. INFO_DEBUGME("mouse move");
    7. }
    8. }
    To copy to clipboard, switch view to plain text mode 

    it does not work ether, even for linux, no mouse move event here

    Am I doing it wrong ??
    Last edited by migel; 10th October 2011 at 11:35.

  14. #14
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Please enumerate all the problems you have with your code, it seems you are mixing more than one issue here. Please try using plain English sentences, read your post twice before submitting it, see if you were clear and provided all information about the problem. If you can, please provide a small compilable example reproducing the problem(s). Currently I don't understand what you are having problems with. I have no idea what setting mouse tracking on tables has to do with switching tabs of a tab widget and how is that related to underlining some links in some documents, setting focus, window activity or enabling or disabling some widgets.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  15. #15
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    Sorry for bombarding

    I have added

    viewport()->setAttribute(Qt::WA_Hover);

    and with that below code works "text-decoration: underline;" in mac

    Qt Code:
    1. if (optionV4.state & QStyle::State_MouseOver) {
    2. doc.setDefaultStyleSheet("a:hover {text-decoration: underline; cursor:pointer;}");
    3. } else {
    4. doc.setDefaultStyleSheet("a {text-decoration: none;cursor:pointer;}");
    5. }
    To copy to clipboard, switch view to plain text mode 


    But I still have to re sort the QTableView model to get this working.

  16. #16
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    You're right.

    Typing too fast in rush.

    Let's start from scratch.

    You know my original problem. I need mouseMoveEvent(QMouseEvent *event) working without pressing a mouse button. When ever I mouse over on QTableView items it should perform some action in this overwritten function.

    We know also that my QTableView exists in QTabWidget.

    QTabWidget has many tabs with different QWidgets in it.

    QTableView exists in the (0) index, and must be there as a first tab.

    The problem I am experiencing is:

    If I set to the other tab using the code below (because secondTab must default to)

    Qt Code:
    1. TabWidget()->setCurrentWidget(secondTab);
    To copy to clipboard, switch view to plain text mode 

    the mouseMoveEvent function is never triggered in QTableView. It just stop working. Although if I comment setCurrentWidget out, mouseMoveEvent works as expected.

    It means that when I start the app, and I will press on the FIRST tab using GUI where my QTableView exists, and try to mouse over on items, nothing happening in mouseMoveEvent function.

    It looks like switching a tabs via GUI does not enable or active or focuse the QTableView or what ever is needed to have mouseMoveEvent working again.

    That's why I tried what above to get this working [setMouseTracking(true)]


    Hope this is clear enough, because the issue is still not for me !

    Thank You for looking and helping. (really)
    Last edited by migel; 10th October 2011 at 20:03.

  17. #17
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Quote Originally Posted by migel View Post
    You know my original problem. I need mouseMoveEvent(QMouseEvent *event) working without pressing a mouse button. When ever I mouse over on QTableView items it should perform some action in this overwritten function.
    You don't need mouseMoveEvent for that. Using editorEvent() is enough.

    We know also that my QTableView exists in QTabWidget.

    QTabWidget has many tabs with different QWidgets in it.

    QTableView exists in the (0) index, and must be there as a first tab.

    The problem I am experiencing is:

    If I set to the other tab using the code below (because secondTab must default to)

    Qt Code:
    1. TabWidget()->setCurrentWidget(secondTab);
    To copy to clipboard, switch view to plain text mode 

    the mouseMoveEvent function is never triggered in QTableView. It just stop working. Although if I comment setCurrentWidget out, mouseMoveEvent works as expected.
    Please prepare a minimal compilable example reproducing the problem. I don't have a Mac, so I can't test it however maybe I'll see something in the source code.

    It looks like switching a tabs via GUI does not enable or active or focuse the QTableView or what ever is needed to have mouseMoveEvent working again.
    None of these properties have influence on mouse events.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  18. #18
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    I have tried using editorEvent() but its not triggered at all for all platforms. I did debug on it and I have to press the mouse button to get to editorEvent().

    Qt Code:
    1. HyperLinkDelegate::HyperLinkDelegate(QObject *parent) :
    2. QStyledItemDelegate(parent)
    3. {
    4.  
    5. }
    6.  
    7. QSize HyperLinkDelegate::sizeHint(const QStyleOptionViewItem & option ,
    8. const QModelIndex & index) const
    9. {
    10. QStyleOptionViewItemV4 optionV4 = option;
    11. initStyleOption(&optionV4, index);
    12.  
    13. doc.setHtml(optionV4.text);
    14. doc.setTextWidth(optionV4.rect.width());
    15. return QSize(doc.idealWidth(), doc.size().height());
    16. }
    17.  
    18. void HyperLinkDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
    19. const QModelIndex &index) const
    20. {
    21. QStyleOptionViewItemV4 optionV4 = option;
    22. initStyleOption(&optionV4, index);
    23.  
    24. QStyle *style = optionV4.widget? optionV4.widget->style() : QApplication::style();
    25.  
    26. QTextOption textOption;
    27. textOption.setAlignment(Qt::AlignCenter);
    28.  
    29. doc.setDefaultTextOption(textOption);
    30.  
    31. if (optionV4.state & QStyle::State_MouseOver) {
    32. doc.setDefaultStyleSheet("a:hover {text-decoration: underline;}");
    33. } else {
    34. doc.setDefaultStyleSheet("a {text-decoration: none;}");
    35. }
    36.  
    37. doc.setHtml(optionV4.text);
    38.  
    39. // Painting item without text
    40. optionV4.text = QString();
    41. style->drawControl(QStyle::CE_ItemViewItem, &optionV4, painter);
    42.  
    43. QAbstractTextDocumentLayout::PaintContext ctx;
    44.  
    45. // Highlighting text if item is selected
    46. if (optionV4.state & QStyle::State_Selected)
    47. ctx.palette.setColor(QPalette::Text, optionV4.palette.color(QPalette::Active, QPalette::HighlightedText));
    48.  
    49. QRect textRect = style->subElementRect(QStyle::SE_ItemViewItemText, &optionV4);
    50. painter->save();
    51. painter->translate(textRect.topLeft());
    52. painter->setClipRect(textRect.translated(-textRect.topLeft()));
    53. doc.documentLayout()->draw(painter, ctx);
    54. painter->restore();
    55.  
    56. }
    57.  
    58. bool HyperLinkDelegate::editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index)
    59. {
    60. INFO_DEBUGME(" Why I am not printing on mouse over. I am printed only if you click on the item");
    61. }
    To copy to clipboard, switch view to plain text mode 


    Added after 8 minutes:


    according to this example http://apidocs.meego.com/1.1/core/ht...rdelegate.html

    I have to set mouse tracking true for this. Unfortunately does not work for me.
    Last edited by migel; 10th October 2011 at 20:40.

  19. #19
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,368
    Thanks
    3
    Thanked 5,017 Times in 4,793 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: QTabWidget / mouseMoveEvent

    Quote Originally Posted by migel View Post
    I have tried using editorEvent() but its not triggered at all for all platforms.
    Sure it is.

    Qt Code:
    1. #include <QtGui>
    2.  
    3. class ItemDelegate : public QItemDelegate {
    4. public:
    5. ItemDelegate(QObject *parent = 0) : QItemDelegate(parent) {}
    6. protected:
    7. bool editorEvent ( QEvent * event, QAbstractItemModel * model,
    8. const QStyleOptionViewItem & option, const QModelIndex & index ) {
    9. if(event->type()==QEvent::MouseMove) {
    10. qDebug() << "Mouse event";
    11. }
    12. return QItemDelegate::editorEvent(event, model, option, index);
    13. }
    14. };
    15.  
    16. int main(int argc, char **argv) {
    17. QApplication app(argc, argv);
    18. QListView view;
    19. model.setStringList(QStringList() << "aaa" << "bbb" << "ccc");
    20. view.setModel(&model);
    21. view.viewport()->setMouseTracking(true);
    22. view.viewport()->setAttribute(Qt::WA_Hover, false); // just to make sure my style doesn't set Qt::WA_Hover
    23. view.setItemDelegate(new ItemDelegate(&view));
    24. view.show();
    25. return app.exec();
    26. }
    To copy to clipboard, switch view to plain text mode 
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  20. #20
    Join Date
    Apr 2011
    Posts
    132
    Thanks
    14
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: QTabWidget / mouseMoveEvent

    Well not in my code. Probably it is the same reason why mouse even does not work in the first place. I don't have anything else, it is simple as this.

    bizare

Similar Threads

  1. Replies: 6
    Last Post: 21st August 2013, 12:53
  2. QTableWidget mouseMoveEvent
    By mbjerkne in forum Qt Programming
    Replies: 2
    Last Post: 29th May 2013, 20:53
  3. mouseMoveEvent
    By weixj2003ld in forum Qt Programming
    Replies: 1
    Last Post: 3rd November 2009, 09:04
  4. About the mouseMoveEvent()
    By bingoking in forum Qt Programming
    Replies: 3
    Last Post: 26th September 2008, 11:56
  5. mousemoveevent on desktop
    By kernel_panic in forum Qt Programming
    Replies: 2
    Last Post: 29th June 2007, 14:49

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Qt is a trademark of The Qt Company.