2010-06-16 4 views
0

J'essaie de faire un jeu d'échecs. Donc, je place le tableau, les pièces de monnaie comme des étiquettes dans un widget. Maintenant, je veux faire de l'échiquier une étiquette non-mobile. Parce que si je clique et déplace le tableau, ça bouge. Comment le contraindre.qt - Comment faire une étiquette fixe

+0

Votre question est un peu cryptique. Donc, si je comprends bien, vos pièces de monnaie sont des étiquettes et le tableau lui-même est aussi une étiquette, qui sont tous à l'intérieur d'une sorte de widget? De quel type est ce widget parent? – codinguser

Répondre

4

Vous voudrez peut-être regarder dans le Qt Graphics View Framework. Un QGraphicsScene serait plus approprié pour ce que vous essayez de faire.

Citation de la documentation:

La classe QGraphicsScene fournit une surface pour gérer un grand nombre de éléments graphiques 2D.

La classe sert de conteneur pour QGraphicsItems. Il est utilisé ensemble avec QGraphicsView pour visualiser éléments graphiques, tels que des lignes, rectangles, texte, ou même éléments, sur une surface 2D. QGraphicsScene fait partie de The Graphics View Framework.

0

Je pense que vous utilisez le mauvais outil.

IMHO: Vous devez peindre le tableau manuellement, ou utiliser une scène graphique pour cela.

0

Je suis également d'accord que vous devriez utiliser graphicsview ou quelque chose d'autre, mais pour répondre à votre question que vous pourriez à ce

label->setFixedSize(/*a qsize or to ints are passed see http://doc.qt.nokia.com/4.6/qwidget.html#setFixedSize*/); 

Je ferais

label->setFixedSize (label->sizeHint()) this will make sure the size is fixed but it is the labels optimum size (all content is visible) 
+0

@ Olorin J'essaye de réparer l'étiquette, ainsi elle ne bougera pas même si je la traîne. – prabhakaran

+0

après avoir appliqué le code que j'ai écrit, il ne bougera pas? – Olorin

+0

@ Olorin Oui. La taille fixe est de fixer la taille, pas de la contraindre à bouger – prabhakaran

Questions connexes