| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Использование сигналов и слотов |
| Автор: Vaz007 23.4.2012, 22:31 | ||
| Привет всем, подскажите пожалуйста , как реализовать связку сигнал слот , для случая , если я хочу передать состояние кнопки , а слот функцию рисования фигуры. К примеру в private_slots: void paintTriangle(QPaintEvent *);
// connect(ui->action_4,SIGNAL(triggered(bool)),this,SLOT(paintTriangle(QPaintEvent *))); как правильно реализовать , скажите пожалуйста. |
| Автор: math64 24.4.2012, 08:33 |
| Слот создаётся без аргументов или с агрументом int, из него вызывается paintTriangle(), а лучше update() или repaint() (они слоты, поэтому можно коннектиться прямо на них), что приведёт к вызову paintEvent(), из которого и нужно вызывать paintTriangle(). |
| Автор: borisbn 24.4.2012, 08:47 |
| Vaz007, QPainter можно использовать только в переопределённой функции http://qt-project.org/doc/qt-4.8/qwidget.html#paintEvent; Всё, что тебе нужно, описать и определить такую функцию в классе-наследнике от QWidget и связать сигнал http://qt-project.org/doc/qt-4.8/qabstractbutton.html#clicked кнопки со слотом http://qt-project.org/doc/qt-4.8/qwidget.html#update |
| Автор: borisbn 24.4.2012, 11:47 | ||
я так говорил исходя из этого
http://qt-project.org/doc/qt-4.8/QPainter.html#details |