2010-08-27 8 views
3

Je crée une fenêtre GTK que, pour diverses raisons, je souhaite rendre non-redimensionnable par l'utilisateur. Mais l'appel de la méthode set_resizable sur la fenêtre l'amène à afficher avec une taille de 1 pixel par 1 pixel. (Dans le code ci-dessous, la fenêtre affiche la taille attendue si la ligne redimensionnable est mise en commentaire.Il n'y a aucune différence dans l'ordre d'invocation du redimensionnement et de la redimensionnable.) Y a-t-il autre chose à faire?Paramétrer redimensionnable à fausse rétrécit la fenêtre au point

Voici le code ...

#include <iostream> 
#include "myarea.hpp" 
#include <gtkmm/main.h> 
#include <gtkmm/window.h> 

int main(int argc, char** argv) 
{ 
    Gtk::Main kit(argc, argv); 
    Gtk::Window win; 
    win.set_title("DrawingArea"); 
    win.resize (600, 600); 
    //win.set_resizable (false); 

    MyArea area; 
    win.add(area); 
    area.show(); 

    Gtk::Main::run(win); 

    return 0; 
} 

Répondre

9

Utilisation win.set_size_request(600, 600); au lieu de resize. Je ne suis pas sûr à 100% pourquoi votre chemin ne fonctionne pas, mais je pense que set_resizable(false) annule les effets de resize provoquant la fenêtre pour revenir à sa demande de taille par défaut, qui est aussi petit que possible.

+0

Merci, ptomato. C'est fait le tour. (Il aurait fallu beaucoup de temps avant que je trouve cela à partir de la documentation.) –

1

Gtk::Window::set_default_size() peut également être utile

Questions connexes