[megoldva] Qt, összetett widget delegálása

Fórumok

Hali!

Qt-ben szeretnék olyat, hogy egy TreeView delegate-je egy saját összetett widget legyen. Designert kerülném (bár erre egy rakat példa van), az alkalmazás kódjában szoktam összerakni a GUI-t; nem akarom a pluginsághoz tartozó díszeket rátenni.

Sima QComboBox delegálása megy. Saját összetett widget gyártása megy. A kettő együtt nem (szerkesztésre nem jelenik meg a widget).A saját widget idevágó része kb. így néz ki:


class Szerk: public QWidget
{
    Q_OBJECT
public:
    Szerk( QWidget* szulo )
    :   QWidget( szulo )
    {
        kombo1_ = new QComboBox( this );
        kombo1_->addItem( "A" );
        kombo1_->addItem( "B" );

        elrendezes_ = new QGridLayout( this );
        elrendezes_->addWidget( kombo1_, 0, 0 );
        // ...
    }
    // ...
};

Van ötlete valakinek? Link is jól jön, mert csak hasonló kérdésekre találtam választ, pont erre nem.

Hozzászólások

Nos, örömmel válaszolok magamnak, meg akit érdekel: megjelent a cucc, csak méretet is kellett neki adni. :-) setMinimumHeight() és setMinimumWidth().

Tipp: ha nagyon nem megy valami, akkor designerben ossze szoktam rakni, es megnezem, milyen kodot general az uic.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal 

Azthiszem ide vágó cikkely a QWidget leírásból:

Size Hints and Size Policies

When implementing a new widget, it is almost always useful to reimplement sizeHint() to provide a reasonable default size for the widget and to set the correct size policy with setSizePolicy().

By default, composite widgets which do not provide a size hint will be sized according to the space requirements of their child widgets.

The size policy lets you supply good default behavior for the layout management system, so that other widgets can contain and manage yours easily. The default size policy indicates that the size hint represents the preferred size of the widget, and this is often good enough for many widgets.