У меня есть два вопроса.
В чем разница между
paint()
изQGraphicsItem
иpaintEvent()
изQWidget
API?Я разрабатываю графический интерфейс таймера, поэтому я обновляю экран каждые 100 мс с помощью
paint()
API на встроенной плате Linux. Он потребляет почти весь процессор. Любая идея, как предотвратить это?
Или есть другой способ сделать эту простую графику?
- Также у меня есть несколько
QGraphicsScene
, каждый со своимQGraphicsView
в сетке. Как обновить отдельный вид из MainWindow.
Ниже приведен код, как я сейчас это делаю:
/****SCENE 1*****/
scene_1 = new QGraphicsScene();
scene_1->setBackgroundBrush(Qt::black);
ui->gv_1->setScene(scene_1);
ui->gv_1->setRenderHint(QPainter::Antialiasing);
circle = scene_1->addEllipse(50, 80, 150, 150, outlinePen, darkGreyBrush);
textSlotNo = scene_1->addText("1", QFont("Arial", 30) );
textSlotNo->setDefaultTextColor(Qt::gray);
textSlotNo->setPos(0,50);
MyItem *item_1 = new MyItem(1);
scene_1->addItem(item_1);
item_1->timer = new QTimer();
connect(item_1->timer, SIGNAL(timeout()),scene_1, SLOT(update()));
item_1->timer->start(100);
/****SCENE 2*****/
......
Оборудование: TI-AM3354
MyItem
объекты, используяnew
, поэтому можно ли оставить их, не удаляя? Так как это единственное приложение, работающее в системе... Спасибо за ваше время :) - person Xavier Geoffrey   schedule 26.05.2015