Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Redimensionnement Qt + SFML  (Lu 1378 fois)

0 Membres et 1 Invité sur ce sujet

Djesteur

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Redimensionnement Qt + SFML
« le: Novembre 19, 2014, 04:43:42 pm »
Bonjour,

je n'arrive pas a redimensionner correctement mon rendu SFML, qui hérite de QSFMLCanvas, et qui est inclut dans un autre widget (ma fenêtre). J'ai essayé plusieurs choses (dont ce qui est proposé sur le tuto, à la différence que je redimensionne dans une de mes fonction et non lorsque la fenêtre est redimmensionné manuellement) mais j'arrive a chaque fois sur cela:



J'utilise ce code:


    resize(parent->size().width(), parent->size().height()); //parent est le widget parent

    setView(View(FloatRect(0, 0, size().width(), size().height())));

 

Une idée ?

Glân de Brylan

  • Jr. Member
  • **
  • Messages: 83
  • Je pense ce que je dis et le dis comme je le pense
    • Voir le profil
Re : Redimensionnement Qt + SFML
« Réponse #1 le: Novembre 22, 2014, 09:42:58 pm »
Le peu de code a l'air correct et l'image que tu as donné est ridiculement petite, on ne voit pour ainsi dire rien...
Avec des conditions pareilles, c'est difficile de donner un avis.
Vous aussi, ayez chaque jour une pensée pour tous ces gamins qui s'imaginent faire un MMORPG touts seuls, et ce avant même d'avoir appris le C++.

Djesteur

  • Newbie
  • *
  • Messages: 14
    • Voir le profil
Re : Redimensionnement Qt + SFML
« Réponse #2 le: Novembre 23, 2014, 12:03:42 pm »

Voila la même, en plus grande. La partie en noire est voulu, le reste est en cyan car je fais un clear(Color::Cyan); avant d'afficher le reste.

Et là l’intégralité de ma fonction redimensionner, qui est découpé en 2 partie. Tout d'abord le redimensionnement du widget parent (car les options sont des widget qui font parties de la fenêtre principale) :


if(resolution->currentText() == "800x600") { setFixedSize(800, 600); } // Je n'en met qu'un mais il y en a normalement plusieurs, pour plusieurs résolutions d'écran.

game->redimensionner();

 

et là l'intégralité de ma fonction redimensionner de mon objet game :

void Game::redimensionner(){

    resize(parent->size().width(), parent->size().height());

    setView(View(FloatRect(0, 0, size().width(), size().height())));

   // interface->resize(size().width(), size().height()); n'affecte en rien la taille du rendu/de la fenêtre

}