Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Chester от Июня 07, 2010, 15:33



Название: не срабатывает метод resizeRowsToContents()
Отправлено: Chester от Июня 07, 2010, 15:33
Добрый день!!! Есть формочка на которой расположено tableView. Так вот если сделать любую компоновку (по вертикали, горизонтали) то почему-то не срабатывает метод resizeRowsToContents(), а без компановки все нормально работает. В чем может быть проблема ?


Название: Re: не срабатывает метод resizeRowsToContents()
Отправлено: Chester от Июня 07, 2010, 18:04
Почему-то высота строки зависит только от элементов находящихся в первом столбце ... вообще непонятно почему это от компоновки зависит


Название: Re: не срабатывает метод resizeRowsToContents()
Отправлено: Chester от Июня 07, 2010, 21:45
Если делать так
Код
C++ (Qt)
   ui->setupUi(this);
   createConnection();
   m = new QSqlTableModel(this);
   m->setTable("Table");
   m->select();
   ui->dohodView->setModel(m);
   show();
   ui->dohodView->resizeRowsToContents();
   connect(ui->pushButton_3, SIGNAL(clicked()), SLOT(click()));
 
то все как надо
А если убрать show(), то resizeRowsToContents(), не срабатывает с компановкой. Почему так?


Название: Re: не срабатывает метод resizeRowsToContents()
Отправлено: BRE от Июня 07, 2010, 21:50
А если убрать show(), то resizeRowsToContents(), не срабатывает с компановкой. Почему так?
Потому что, компоновщик рассчитывает положение и размер своих виджетов в момент визуализации parent-виджета.
Перед вызовом resizeRowsToContents, можно попробовать вызвать activate для компоновщика.