Есть основной класс MainWindow, для находящегося внутри QGraphicsView установлен viewPort
от GraphWidget, наследуемого от QGraphicsView класса:
class GraphWidget : public QGraphicsView
{
Q_OBJECT
public:
GraphWidget(QWidget *parent = 0, Graph* graph = 0, MainWindow *Main = 0);
Node *centerNode;
void itemMoved();
MainWindow* mw; //указатель на MainWindow
Graph* gr;
GraphicsScene *mscene; //указатель на кастомную QGraphicsScene
public slots:
void SetGravity(bool grav);
void keyPressEvent(QKeyEvent *event) override;
void resizeEvent(QResizeEvent *event);
protected:
void timerEvent(QTimerEvent *event) override;
void wheelEvent(QWheelEvent *event) override;
private:
int timerId;
int scaleMax, scaleMin;
QWidget* parent;
};
mscene
установлена как сцена для GraphWidget
.
resizeEvent
вызывается каждый раз когда меняется размер MainWindow
и выглядит как:
void GraphWidget::resizeEvent(QResizeEvent *event)
{
//this->mscene->setSceneRect(QRect(QPoint(0,0), event->size()));
this->mscene->setSceneRect(0, 0, mw->width(), mw->height());
std::cout << "Scene " << mscene->width() << " " << mscene->height() << '\n';
mscene->addRect(mscene->sceneRect(),QPen( Qt::red, 2 ));
}
Но sceneRect
всегда оказывается на несколько сотен пикселей меньше, чем размер MainWindow:
sceneRect
при первом запуске программы
sceneRect
при нажатии на фуллскрин. Если выводить на width
и height
в консоль, то для mscene
и MainWindow
они совпадают. В чём может быть проблема?
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Например, функции fopen, getch
Есть 2 примера программыв первоем примере требуется обязательно указать ch определенное значение
Вот такой вот несложный код бегаю по QMap вытаскиваю сайт и его загружаюНесколько раз получаю это
У меня есть 2 обьекта внутри у них есть свойство options это массив и внутри элементов массива есть обьекты со свойством variants который тоже является...