Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - daijin12

Pages: [1]
1
Bonjour à tous,

J'ai un problème dans un programme qui utilise SFML 2.1 intégré dans une interface Qt5.
J'ai placé le QSFMLCanvas dans le layout d'un QStackedWidget, lui-même inséré dans le centralwidget d'un QMainWindow :
    Sfml = new QSFMLCanvas(this);
   
    widget_container = new QStackedWidget(this);
    widget_container->addWidget(Sfml);
    widget_container->setCurrentWidget(Sfml);
    widget_container->layout()->setAlignment(widget_container,Qt::AlignCenter);
    setCentralWidget(widget_container);
 

Sous linux (Fedora 18) cela fonctionne bien, le canvas est redimensionné en même temps que le QMainWindow.

Par contre, sous Windows 7, le canvas garde ça taille initiale et se positionne en bas à gauche du QMainWindow quand on le redimensionne.

J'ai tenté de voir ce qu'il se passait en mettant des prints de la taille du QWidget et de la Renderwindow dont hérite QSFMLCanvas dans la fonction resizeEvent() du QSFMLCanvas:
void QSFMLCanvas::resizeEvent(QResizeEvent *event)
{
    std::cout << size().width() <<" " << size().height()
              <<  " " << getSize().x << " " << getSize().y <<  std::endl;
}
 

et voilà un exemple de ce que ça me donne en sortie :
815 639 700 579
815 639 700 579
825 641 700 579
825 641 700 579
835 644 700 579
835 644 700 579
842 646 700 579

La taille du RenderWindow ne varie pas alors que le QWidget et bien redimensionné.

J'ai tenté de rajouter un setSize() dans la fontion resizeEvent() mais cela ne change absolument rien.
void QSFMLCanvas::resizeEvent(QResizeEvent *event)
{
    setSize(sf::Vector2u(event->size().width(),event->size().height()));
    std::cout << size().width() <<" " << size().height()
              <<  " " << getSize().x << " " << getSize().y <<  std::endl;
}
 

Si quelqu'un a une idée pour arranger cela, cela m'aiderait beaucoup

Merci d'avance,

daijin12

2
Bonjour à tous,

J'ai un petit problème pour exécuter un programme mi-Qt mi-SFML avec Qt-Creator sous Windows 7 en 64 bits.

Ce programme est un prototype de tactical-rpg avec de nombreuses classes donc je ne peux pas vraiment le poster ici.

Il fonctionne très bien sous Fedora 18 ansi qu'en mode debug sous Windows et n'a aucun problème de compilation en mode release sous Window
Seulement quand j'éxecute le programme en mode release avec Qt-Creator sous Windows, je me retrouve avec la sortie d'appilcation "CHEMIN/VERS/LE/.EXE/MonProgramme.exe a quitté avec le code -1073741511"

Je travaille avec SFML 2.1 que j'ai compilé en suivant scrupuleusement le tuto suivant : https://github.com/SFML/SFML/wiki/Tutorial%3A-Compile-and-Link-SFML-with-Qt-Creator en debug et en release ainsi qu'avec Qt SDK 1.2.1-1 avec le compilateur MinGW 4.4.0-2.

J'ai aussi essayé de compiler SFML avec cmake-gui comme décrit ici : http://www.sfml-dev.org/tutorials/2.1/compile-with-cmake-fr.php mais cela ne change absolument rien (le programme fonctionne en debug mais pas en release). Je précise que j'ai bien changé la variable CMAKE_BUILD_TYPE à chaque compilation

Ce n'est pas la première fois que j'ai des problèmes à utiliser SFML et Qt ensemble sous Windows 7, dont je ne suis pas vraiment un habitué (ni un grand fan d'ailleurs...) mais comme j'aimerai diffuser mon programme, je n'ai pas vraiment le choix.

J'hésite maintenant à carrément recompiler Qt et Qt-Creator pour voir si le problème ne viendrait pas d'une incompatibilité étrange, mais j'avoue que si je peux éviter cela m'arrangerait énormément (très long et très chiant, d'autant plus sous Windows)

Si quelqu'un a une idée, je lui offre toute ma gratitude. Je peux donner plus de détails si besoin.

daijin12

Pages: [1]
anything