Size of Qt tableview - qt

I am dynamically adding data to my tableview, but it would not exceed 10 rows. Is there a way that the tableView wraps around its contents?
For example, in the image below, there is so much extra space on the right and on the bottom. How could I get rid of that?
Thanks.

Related

Empty grid space in component

I have a grid inside a component which has some rows and columns. The problem is that there is some empty space after the last row of the grid and I want to get rid of it. This is what it looks like in the inspector, it actually shows that the whole content is the grid, whereas only the rows with actual information are the content of the grid. I want to remove this white space which is there for no reason. For clarification this is the empty unwanted space:
You could use setHeightByRows to set the Grid to contain a fixed amount of rows, or setHeightUndefined to always show all the rows (bad idea if your Grid ever has massive amounts of data in it).

Freeze/float cell while keeping other cell scrollable

I am creating a table where I need to freeze some cell while keeping the other cell scrollable. The table must be responsive to screen size that is why I need to make some cell scrollable.
Based on the picture above, I want to keep the blue area floating/or freeze while the red area scrollable.
How is this possible in google app maker?
First of all, this widget that you refer to as a table in your sample screen is actually a composite widget where it combines several basic widgets like the list, horizontal panel, and pager.
There is another table widget under charts, called Table chart, that can be used to present your data in rows and columns. But if you are looking for a property that can achieve this UI effect, then I'm afraid AppMaker does not support this yet.
If you are really keen to make this work, I would suggest that you combine two table widgets that inherit the same data source then wrap them SIDE-BY-SIDE in a horizontal panel. The left side will only contain columns that you want to freeze while the right size will have the rest of the column that can be scrollable.
Make sure to set the height of both tables to auto-grow based on the content (Fit to content). This will give the effect that the two tables are merged when doing vertical scrolling.
I have here a sample implementation as I described above. I gave a background to the main container to better understand the concept. I also added a small gap to show that I used two table widgets.
Here is the set-up in editor view (screen-shot)
See it in action here (video)

xamarin.forms scrollView with image is slow in android

I have dynamic list with 20~ cells.
I have 3 types of cells so i can't use Listview.
I am using ScrollView that contains StackLayout with the cell elements.
each cell element is also a StackLayout that contains some labels and buttons
the scrolling is smooth.
I have option in each cell to add image by a pressing a button inside the cell.
After the image is added, the scroll is getting very slow when arriving to the cell with the image.
when scrolling beyond the image, the scroll become smooth again
I have also tried TableView but the scrolling is not smooth when presenting the Cells (without adding the image)
How can i improve the rendering of the image ?
I have 3 types of cells so i can't use Listview.
Actually you can use a ListView, by using a DataTemplateSelector. As long as you have a collection containing all of the objects to be displayed, and each object in the collection indicates the cell type (usually because of it model's type), ListView with DataTemplateSelector will work great.
Whether you stick with ScrollView or move to ListView, look into FFImageLoading for displaying images if possible. While it doesn't solve all image display problems, it often does help with responsiveness and image size issues.

Add fixed sized items to grid layout in correct row

I am trying to create a grid layout of images kind of like how google images does it.
I want to add fixed sized images left to right, top to bottom but I am having trouble is figuring out when adding another image to a row would make it not fit and then decide that that images should be placed in a new row.
Also when the window resizes it should move images into/from rows based on how many it can fit in.
Ive got a scroll area with a grid layout in it which is fine if I know what can fit, but I can't figure out how to make it move items if say the window width is shrunk, and say an item needs to be moved down 1 row which moves other etc.
Assuming you are using QWidgets I'd suggest you to use QListView which does the layouting for free, if you want more control on how items are displayed use a QItemDelegate. For QListView the view mode should be set to QListView::IconMode so that you have a grid of items and not a list.
But if you are using QtQuick things are much easier, a GridView with Image delegates would do what you want really quickly and using GPU power to build you UI.

How can I get rid of vertical spacing of empty rows in a QGridLayout in Qt?

So I have a dialog that consists of one QGridLayout that has two columns of widgets (labels and comboboxes). Depending on the selections of the comboboxes some rows might be hidden.
I figured out that having the dialog call self.layout().setSizeConstraint(QLayout.SetFixedSize) as it shows/hides the comboboxes would make the dialog change size accordingly.
But then I realized that the layout was still showing the vertical spacing of empty rows, thus making the dialog show too much space here and there.
How can I get rid of this? Is there a way to have the layout resize to show only vertical spacing of rows that have visible widgets?
I think I found the solution. Using QVBoxLayout instead of QGridLayout somehow makes widgets and their vertical spacing go away when a widget is hidden.
You might need to use QLayout::takeAt ( int index ) to take out the item, once the visibility is set to false & use QLayout::addItem ( QLayoutItem * item ) when you need it back in your layout.
Keep in mind that if an item is removed, other items will be renumbered. So you have to plan what you do accordingly. Refer the documentation .

Resources