[Qt-interest] QTableview complete sizehint

Israel Brewster israel at frontierflying.com
Wed Mar 18 22:34:53 CET 2009


On Mar 14, 2009, at 6:30 AM, Linos wrote:

> Hello,
> 	i have a dialog with a tableview that populate data from a dynamic  
> sql query,
> so the size can vary greatly depending on the size of the returned  
> data.
>
> Any times the default size for the dialog it is too large, with a  
> too big last
> column because of setStrechtLastSection(True) and many blank rows  
> and other
> times i have scrollbars for the width and the height.
>
> I have tried any methods of the QHeaderView of the table and the  
> QTableView
> itself to determine what it is the size the tableview has after the  
> populated
> data and resize the dialog but i can get the correct value, how  
> could i do it?

I ended up with the following kludgy, but seemingly functional solution.

For the width:

int width=reportView->horizontalHeader()->length();
width+=reportView->verticalHeader()->width();

and similarly for height:

int desiredHeight=reportView->verticalHeader()->length();
desiredHeight+=reportView->horizontalHeader()->height();

If using these values to set the window size, keep in mind that the  
window layout has a certain margin you need to take into account  
(centralwidget->layout()- 
 > 
getContentsMargins 
(&leftMargin,&mainTopMargin,&rightMargin,&mainBottomMargin);), and, of  
course, you need to add in the size of any other widgets you may have,  
such as toolbars or close buttons. Also (hopefully obviously) you want  
to sanity check those values to make sure you don't wind up with  
something larger than the viewable area of the monitor. If there is a  
better way of doing this, I'd love to hear it.

-----------------------------------------------
Israel Brewster
Computer Support Technician II
Frontier Flying Service Inc.
5245 Airport Industrial Rd
Fairbanks, AK 99709
(907) 450-7250 x293
-----------------------------------------------

>
> Regards,
> Miguel Angel.
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest




More information about the Qt-interest-old mailing list