Russian Qt Forum

Qt => Вопросы новичков => Тема начата: aviabunin от Октябрь 09, 2011, 19:36



Название: Не полностью рисует вектор на QTableWidget
Отправлено: aviabunin от Октябрь 09, 2011, 19:36
QTableWidget размером 5 х 5  ячеек , размер квадратной ячейки 25 х 25 .
Пытаюсь нарисовать отрезок
Код:
    p.drawLine(0,0,125,125); // Рисование линии
Но закрашивает чуть больше диагонали первой ячейки. Если рисовать горизонтальный отрезок,
то доходит до четвертой ячейки. Т.е. есть некая область рисования, дальше которой
нарисованный отрезок не виден.
Удалил и создал таблицу снова - эффект такой же.
В чем может быть дело?
Спасибо!


Название: Re: Не полностью рисует вектор на QTableWidget
Отправлено: aviabunin от Октябрь 09, 2011, 20:16
Добавил поверх таблицы layout, проблема снялась.
Код:
    wgt = new qpaintwidget(this, this);
    ui->verticalLayout->addWidget(wgt);
Думал вроде можно и напрямую на QTableWidget рисовать. Но не знаю как это сделать .
1 . У QTableWidget нет метода addWidget.
2. Не придумал пока как от повтора this избавиться. Конструктор paintWidget
Код:
iSticks *model;

qpaintwidget::qpaintwidget(QWidget *parent, iSticks *sticks) :
    QWidget(parent)
{

    model = sticks;
}
Первый параметр вроде должен быть типа QWidget , а не тип моего главного класса iSticks


Название: Re: Не полностью рисует вектор на QTableWidget
Отправлено: Bepec от Октябрь 10, 2011, 09:46
Кхм. вопрос а что мешает рисовать прямо на таблице?
QPainter painter(QTableView); не катит чтоли?


PS хочешь совета - выкладывай *.cpp и *.h где ты все создаешь и где ты там рисуешь. А то без кода гадать, да язык об зубы попусту бить.


Название: Re: Не полностью рисует вектор на QTableWidget
Отправлено: twp от Октябрь 11, 2011, 12:52
вообще-то отрисовка таблицы происходит во вьюпорте, то там и надо по идее рисовать линию