Russian Qt Forum
Март 29, 2024, 11:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Не получается нарисовать линию на кнопке  (Прочитано 4662 раз)
smackthat
Гость
« : Февраль 12, 2011, 12:18 »

Пустой проект, добавил кнопку и такую функцию:
Код:
void MainWindow::draw()
{
    painter->begin(ui->pushButton);
    painter->setPen(Qt::blue);
    painter->drawLine(1,1,20,20);
    painter->end();
}

Главная функция:
Код:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    w.draw();

    return a.exec();
}
В конструкторе:
Код:
painter=new QPainter;
Компилиться, запускаю - линии нет. В чем проблема?
Записан
BRE
Гость
« Ответ #1 : Февраль 12, 2011, 12:41 »

В том, что ты не разобрался с системой рисования.
Почитай assistant на тему: Paint System
посмотри примеры, на форуме уже не раз поднималась эта тема, поищи.
Записан
smackthat
Гость
« Ответ #2 : Февраль 12, 2011, 15:03 »

Что такое assistent? Примеры нашел, изучаю.
Записан
BRE
Гость
« Ответ #3 : Февраль 12, 2011, 15:10 »

Что такое assistent? Примеры нашел, изучаю.
Это программа для чтения документации по Qt.
Записан
smackthat
Гость
« Ответ #4 : Февраль 12, 2011, 16:38 »

Спасибо, в общем нужно рисовать все переопределяя функцию QWidget::paintEvent(QPaintEvent *), которая вызывается, когда нужно перерисовать виджет. А если мне нужно перерисовывать виджет с определенной частотой, то можно воспользоваться таймером.
Поправьте, если я неправильно понял.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.