I have a fixed size label on a QtDesigner form. The label is used to display images, let's assume it's used to display thumbnails of 100x100 px.
I can set the size of the label but when I put the label in some layout manager the labels get resized to take the whole space. Even if I do it through the Form > Layout in a Grid. The size of the labels is shrunk.
I believe this is some corner case as labels are not often used to do such things (although they are meant to be able to display images). Is there a workaround to avoid the size of the labels changing when placed in the layout?
You can set horizontal and vertical size policies to Fixed or set the maximum height and width additionally. Either in code or in Designer.
Related
i am using ionic-tabs component and trying to make the tab bar width just enough to show contents rather taking the entire space.
I don't see a sass variable to control it. all the variables are to control text and color related items.
How can i set the max height and widht for the ion-tabs ?
What I am aiming to look them like
https://www.dropbox.com/s/vv9vjjk2ym3iacb/Screenshot%202017-10-23%2014.10.27.png?dl=0
instead of
https://www.dropbox.com/s/hj1s1tp3xd8wbub/Screenshot%202017-10-23%2014.11.00.png?dl=0
For exemple, I want the value of the layoutLeftMargin property to be equal to 1/3 of the parent widget. So when I will resize the windows, the ratio of the widget will still stay the same.
Else, if it's not possible with QtDesigner, how can I do it with code ?
No, Margins are specified in pixels, they can't be relative to the parent widget's size.
However, You can do that in the designer by putting your whole current layout in a Horizontal Layout, add a Horizontal Spacer to the left of it, assign suitable layoutStretch values in the horizontal layout (In your example, this should be 1,2, meaning the original layout will take up twice the space taken up by the spacer, so that the spacer gets 1/3 of the parent widget).
So I have a Flex bar chart that resizes dynamically, and if I have only a few items, the height shrinks and the horizontal axis and label shrink along with it. If the height of the chart is small enough, the label shrink down to practically nothing.
How can I enforce a minimum height for the axis itself? Or even a minimum font size for the labels?
I've tried setting the font size on the axis renderer and the axis label renderer and Flex still wants to resize the labels how it wants.
put a minHeight on the container I believe... but mostly just wanted to point out Axiis to you...
I'm having trouble using the layout manager system with Qt. This is going to be a Symbian app, so it should resize to different devices.
This is done by using the Layouts.
On the image below I used the Vertical Layout, but I don't understand how I can decide how much each cell should take in width and height.
I want the blue to be a top label background, but I don't want it to be as high as it is now.
Does anyone know how I can do this? (I'm new to Qt :))
You can set the maximum size for a widget by right clicking it and selecting 'Size Constraints'. Under that menu you can find actions that allow you to set the current displayed size as the maximum / minimum size for vertical / horizontal or both directions.
You can also set the numbers by hand by selecting the widget and by setting the number in the 'Property Editor'. They should be under the QWidget properties.
You cannot set the Height of a vertical layout directly, but you can set the height of the widget in which the vertical layout is.
If you want to split your Widgets so that the top widget takes 33.33% of the space, use the Stretch values. Set the top widget to 1 and the bottom widget to 2.
Ok, here is my problem:
I have a vertical layout which contains a QPlainTextEdit and a horizontal layout (containing 2 QPushButtons) below the text edit.
The vertical layout is just a part of GUI, and gets resized depending on screen resolution. Btw. it is a mobile app, so I don't have a lot of space on screen.
Push buttons have some text which is dynamically set, I don't know it from the beginning to code it manually.
My problem occurs when the text in push buttons is big, and my whole vertical layout is expanded to fit the buttons.
How can I make the vertical layout unexpandable? note, that this is different from "fixed" because of different screen resoulutions.
I'd just like the clip the buttons if they do not fit, but keep the layout width untouched.
Anyway to do this?
You'll need to set the maximum width for the buttons, not the layout, which is only widening to fit the wider buttons. Check out the docs on QPushButton and look for QWidget inherited functions called setMaximumSize or setMaximumWidth.
You can always GetWidth() on the button when it is an appropriate size, then setMaximumWidth using that value since you wouldn't ordinarily know this. Pick an appropriate default text size/val and use that to create your "dynamic" default since this is going on screens of varying size.