Qt Designer (creator) widget box like widget - c++

Is there a good example or complete code for Qt Designer (creator) widget box like widget with QWidget or QFrame within? So it should work like QToolBox or QTabWidget but be expandable: possible to view few pages (widgets) at a time, not single one like QToolBox or QTabWidget or QStackedWidget provide.
Or need to write myself using QTreeWidget for example? Need same look and feel with same root decoration on category button (or panel) in in Qt Creator or with line like following:
+ ——- Category 1 ————
widgets
widgets
+ ——- Category 2 ————
widgets
widgets
etc
If it exists with plugin to Qt Creator - even better.

Created sample widget and plugin for Qt Designer, put it on GitHub if somebody else need this and want to improve: https://github.com/akontsevich/WidgetBox. It is ready for using however some points good to have improved:
Style category button (or panel) closer to Qt Creator (Designer) look
or like to LibreOffice Writer Properties Tool Box on the right side
Fix isPageExpanded propery change in Qt Designer
Hope for community participation or suggestions on these improvements.
Sample screenshots of current state:

Related

how to add a custom widget to Qt 4.8.6

I'm trying to figure out how to add a custom widget to Qt Designer. So far I've been unsuccessful. Very new to Qt. I'm running Qt 4.8.6. I know there is a newer version but due to project constraints I have to stick with this one. Essentially I'm need to add a hex spin box, i.e. a spinbox that counts in hex rather than in decimals. I even found code that implements it. It does explain how to integrate it into Qt Designer, however it is explained for version 3. Can someone offer assistance?
Any help is greatly appreciated
Read about creating designer widgets and using them, but briefly:
Subclass QDesignerCustomWidgetInterface to create your custom designer plugin for your custom widget
Build and install your designer plugin
Tell designer about your plugin location, or just make sure it's installed to $QTDIR/plugins/designer
There's also an example to follow.
Here is a documentation. At short, you just add any widget (e.g. QSpinBox to draw it nice in the Designer) to your form and convert it to the needed one.
To add a custom widget to Qt designer simply follow the steps:
In Qt designer create a new widget File->New->Widget.
Add your UI etc for this widget and save it->->MyWidget.ui
Create a class "MyWidgetHandler" to handle this widget in a MyWidgetHandler.h & cpp
In your MainWindow/Dialog wherever you want to display this widget add a "Widget" from the "Containers" section of the designer.
Now right-click the "Widget" container you just added and click "Promote to..."
This should open a dialog. You can select here the base class to inherit properties in your case QComboBox or just select the QWidget class.
Next enter the full class name i.e with namespaces eg: "blah::MyWidgetHandler"
In the Header file section simply add the path to the header file for this class. This should be a resolvable path. Eg: "UI/MyWidgetHandler.h" or "C:/UI/MyWidgetHandler.h"
Now click "Promote" and save your MainWindow.ui
The Property Editor should now show your custom class type eg: blah::MyWidgetHandler. and the properties from the base class you selected.
Don't forget to setup the UI in your handler class and include header in the Mainwindow handler.
Cheers !!!

How can I add a button on the bar at the bottom of the screen for Qt Nokia?

I am developing an application for my Nokia N8 running Nokia Belle and would like to add buttons in between the left arrow button and the menu button on the bar at the bottom of the screen.
An example of what I mean can be seen when playing a station in the Nokia Internet Radio application, which, I understand, is a Mobile Qt Widget Application (not Qt Quick).
After searching around (http://www.developer.nokia.com/Community/Discussion/showthread.php?233396-QMenu-in-Symbian-Belle-in-Qt-C), I tried this code, but the button does not appear:
QAction *pDeleteButton = new QAction(style()->standardIcon(QStyle::SP_TrashIcon),QString(tr("Delete")), this);
pDeleteButton->setSoftKeyRole(QAction::NoSoftKey);
addAction(pDeleteButton);
I put this code in the constructor of the mainwindow.cpp.
Thank you for your help!
I am no expert in programming for mobile phones, but the QAction you are creating has no parent widget. If you look at the example you are linking, you will find that the original poster assigned a menu for the action via setMenu(). Did you try something like this already? If so, I would suggest you add some more context to your code and maybe a minimal example.

QT4 C++ GUI Design - Tabbed interface alternative

Designing an interface with QT4 I have been advised that using multiple "Tabs" at the top of an interface to navigate different pages is not the most elegant design. Instead I would like to do something similar to the Options dialog in QT Creator 4.8.
Does anyone know the name of a widget that resembles that in the Options Dialog of QT Creator.
ex. Click Tools->Options... In QT Creator.
Notice the layout on the left hand side of the screen, which to me seems nicer than only tabs across the top of the screen.
Thanks for your help!
It's QLiveView/QListWidget with delegate that draw icon and string.
Here is link to documentation for QListView, If you are not happy with default list view delegate then you can create your own QItemDelegate to handle custom drawing. Here is sample code to create custom QItemDelegate
I just stumbled upon this implementation of a ribbon interface this morning. Maybe this is helpful to you?
http://qt-project.org/forums/viewthread/4214

Creating a tree-view with buttons? in QT

I am trying to make a dialog box like below in QT, the only problem is I have no idea what the widget is called. The bar on the left is like a tree-view widget, but when you click on it, it updates the text on the right. Does anybody happen to know what the widget is called or what widget(s) are required to perform this? I am using QT C++ on Windows.
There is an example with Qt showing you how to do this.
https://doc-snapshots.qt.io/4.8/dialogs-configdialog.html
If you're using Qt Creator as IDE, you can find it under the "Demos and Examples" tab in the Welcome Screen too.
It uses a QListWidget for the selector, and QStackedWidget to control the different pages. Connect the currentItemChanged signal of the list widget to change what page should be shown. Everything you'll need is in configdialog.cpp.
If you realy need to add QPushButton into QListWidget, use setItemWidget, or into ListView use QAbstractItemView::setIndexWidget

how to navigate one page to another page in nokia qt C++;

hi i want to make an application for nokia in nokia qt sdk.
so please help me how to navigate one page to another page in qt C++ when user press the button in one page.
There's no page concept in Qt, but you can simulate it with other widgets or components. A couple of examples:
Using Qt Desktop Widgets: http://wiki.forum.nokia.com/index.php/Create_a_page_based_UI_with_QStackedWidget_and_QToolbar
Using Qt Quick: http://doc.qt.nokia.com/4.7/declarative-modelviews-visualitemmodel.html
In Qt Quick you can also do it by changing properties like visibility or position of elements like rectangles.
And there are other ways to do this, search for examples in Forum Nokia Wiki or in Qt DevNet.
Just write in click event of button:
manwindow *mainwindow2 = new mainwindow();
mainwindow2->showExpanded();
There is also the concept of a wizard in QT:
http://doc.qt.io/archives/qt-4.7/qwizard.html
I'm not sure if that is what you are looking for as far as look n feel, but it is pretty convenient. You simply add pages to the widget itself and it will create the "Next" and "Finish" buttons for you as well as the page navigation.
Beyond that, do as Mkfnx suggested and use a stack widget or just have a dynamic dialog where you subscribe to your button events (using the connect() ) function and hide/show your widgets as you wish.