Show SVG file in QMenuBar corner part
I'm working on an app, and I want to use a QMainWindow as a frameless window.
So we want to display a logo front to the QMenuBar of this QMainWindow.
Can you give a me the (best) way to draw an SVG image in the top left corner part of the menu bar?
This what I wrote:
QSvgWidget* widget = new QSvgWidget(":/WaveView/icon/appBig.svg",container); p_customBar->setCornerWidget(widget, Qt::TopLeftCorner);
The problem of this solution, is the image don't fit to the parent QMenuBar (the QToolBar fit to the height of the QSvgWidget, and became ugly).
In the best way, I want my icon fit height of toolbar and keep his ratio.
[Moved to General and Desktop, added code tags ~kshegunov]
Hi! Haven't tested it, maybe it works if you set the QSvgWidget's maximumHeight to the height returned by
Yeah! I think it would work too. But I want my component to be dynamic, I explain:
I want my component to be resize if somebody through the code says for example "hey MenuBar change your height". I can do retro control mecanism, but I want in a first time to avoid crapy complex code if something already does it you know! =D
If is the only way, I will do something like this.
Thanks for youre answer
QToolbar has a property "iconSize" and QSvgWidget has a property "size". If my first suggestion turns out to work at all then you can use signals and slots to get automatic adjustment of size.
Ok I will try this mecanism and I will be back after that, thx Wieland!
Ok at least I used finally an QLabel:
//Create our label that contain icon
QLabel* iconLabel = new QLabel(p_customBar);
//setPixmap(const QPixmap &)
I'm little embarrased because I have to precise an arbitrary size for QIcon to pixamp, but the component keep the ratio, fit the toolbar height, etc...
But I reuse internal behaviour and I don't have to make some tricky code.
Thx for answers