Я пытаюсь сделать игру в шахматы. Поэтому я размещаю доски, монеты в виде надписей в виджете. Теперь я хочу сделать шахматную доску неподвижной этикеткой. Потому что, если я щелкаю и двигаю доску, она движется. Как это ограничить.
Возможно, вы захотите взглянуть на Qt Graphics View Framework . QGraphicsScene будет более подходящим для того, что вы пытаетесь сделать.
Цитата из документации:
Класс QGraphicsScene обеспечивает поверхность для управления большим количеством 2D графические элементы. Класс служит контейнером для QGraphicsItems. Используется вместе с QGraphicsView для визуализации графические элементы, такие как линии, прямоугольники, текст или даже пользовательские предметы, на 2D поверхности. QGraphicsScene является частью графического представления Framework.
Класс QGraphicsScene обеспечивает поверхность для управления большим количеством 2D графические элементы.
QGraphicsScene
Класс служит контейнером для QGraphicsItems. Используется вместе с QGraphicsView для визуализации графические элементы, такие как линии, прямоугольники, текст или даже пользовательские предметы, на 2D поверхности. QGraphicsScene является частью графического представления Framework.
Я также согласен, что вы должны использовать graphicsview или что-то еще, но чтобы ответить на ваш вопрос, вы могли бы на это
label->setFixedSize(/*a qsize or to ints are passed see http://doc.qt.nokia.com/4.6/qwidget.html#setFixedSize*/);
Я бы сделал
label->setFixedSize (label->sizeHint()) this will make sure the size is fixed but it is the labels optimum size (all content is visible)
Я думаю, что вы используете не тот инструмент.
ИМХО: Вы должны нарисовать доску вручную или использовать для этого графическую сцену.