Название: При создании QHBoxLayout появляется непонятный артефакт Отправлено: stlex от Июнь 16, 2009, 17:23 Доброго времени суток! Я в Qt полный чайник. пытаюсь нарисовать форму - справа фрейм с видгетами, слева место для рисования в канве.
Код
в левом верхнем углу формы появляется прямоугольник, на котором не появляется нарисованное в канве окна (смотрите http://www.salekhard.org/temp/example.jpg (http://www.salekhard.org/temp/example.jpg) ) Код
Помогите пожалуйста, я по разному пытался, не выходит ничего Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: spectre71 от Июнь 16, 2009, 17:35 1) А не проще вместо QSpacerItem положиьт QWidget на котором потом и рисовать.
2) Убери приведенный тобой код из MyWidget::MyWidget () и посмотри что получится. Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: spectre71 от Июнь 16, 2009, 17:44 Может надо сделать
layout10 = new QHBoxLayout( centralWidget (), 0, 6, "layout10"); Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: stlex от Июнь 16, 2009, 17:44 Цитировать 1) А не проще вместо QSpacerItem положиьт QWidget на котором потом и рисовать. 2) Убери приведенный тобой код из MyWidget::MyWidget () и посмотри что получится. 1) Хорошая идея, попробую 2) Если убираю layout10 = new QHBoxLayout( this, 0, 6, "layout10") , фигня исчезает Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: stlex от Июнь 16, 2009, 17:52 Цитировать Может надо сделать layout10 = new QHBoxLayout( centralWidget (), 0, 6, "layout10"); В этом случае фрейм с рамкой появляется как раз там, где был артефакт :-)) Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: stlex от Июнь 16, 2009, 18:05 Спасибо, проблема решена, создал слева новый фрейм, на нем и рисую. Но глюк интересный.
Название: Re: При создании QHBoxLayout появляется непонятный артефакт Отправлено: spectre71 от Июнь 16, 2009, 18:09 Ты посмотри в доке что такое QMainWindow - его структуру.
На нем уже есть другие специальные виджеты, а ты пытаешься на нем рисовать. Вот они и прекрывают твой рисунок. Либо используй QWidget вместо QMainWindow, либо сделай правильную компоновку и рисуй на виджите на котором больше ничего не лежит. |