На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
  • При создании темы ОБЯЗАТЕЛЬНО указывайте версию тулкита / библиотеки / компилятора.
  • Перед тем как задать вопрос, сформулируйте его правильно, чтобы вас могли понять.
  • Нарушение Правил может повлечь наказание со стороны модераторов.


Полезные ссылки:
user posted image Boost по-русски
user posted image Qt по-русски
Модераторы: archimed7592
  
> Вопрос по QPainter
    Не понимаю почему скомпиленная программа не рисует на виджете?

    Код:
    ExpandedWrap disabled
      #include<QtGui>
      #include<math.h>
       
      int main(int argc, char **argv)
      {
        QApplication app(argc, argv);
        QWidget wgt;
        wgt.setWindowTitle("MyWidget");
        wgt.resize(800, 600);
        
        QPainter *pntr;
        pntr=new QPainter(&wgt);
        
        pntr->setPen(QPen(Qt::red, 3, Qt::SolidLine));
        pntr->setBrush(QBrush(Qt::red, Qt::SolidPattern));
          
          //pntr->begin(&wgt);
          
          int n=8;
          for(int i=0; i<n; i++)
          {
            float fAngle=2*3.14*i/n;
            int x=400+cos(fAngle)*40;
            int y=300+sin(fAngle)*40;
            pntr->drawPoint(x, y);
          }
          pntr->drawLine(10, 10, 90, 90);
       
          //pntr->end();
            
        
        wgt.update(0, 0, 800, 600);
        wgt.show();
        app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
        return app.exec();
      }
      Склмпилял, я ваш примерчик у себя, потом запустил, и вот что он мне написал :

      Цитата
      QPainter::begin: Widget painting can only begin as a result of a paintEvent


      так что рисование на виджете возможно только в событии PaintEvent.
        Спасибо... помог советом. Перекрыл событие paintEvent и все заработало!
        Странно правда почему у меня компилятор не вывел хотя бы предупреждения...
          потому что это сообщение выводит отладчик, а не компилятор.
            Цитата sploid @
            потому что это сообщение выводит отладчик, а не компилятор.

            это вывел даже не отладчик, а сама библиотека.
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0205 ]   [ 16 queries used ]   [ Generated: 3.05.24, 17:57 GMT ]