I only use the GUI Designer plugin for Eclipse, did not modify anything, but 
still the same, here is the very original full source code generated by the 
designer - still the same.

This is what I did:
- create a new Qt project
   File -> New -> Others -> Qt Jambi -> Qt Jambi Project (Using Designer Form)
- Drag and drop the Horizontal Layout to the main window, resize it to fill the 
whole area
- Drag and drop the ScrollArea to the layout, change to 'always show scroll bar'
- Save and Run


public class Ui_Main implements com.trolltech.qt.QUiForm<QMainWindow>
{
    public QWidget centralwidget;
    public QWidget horizontalLayoutWidget;
    public QHBoxLayout horizontalLayout;
    public QScrollArea scrollArea;
    public QWidget scrollAreaWidgetContents;
    public QMenuBar menubar;
    public QStatusBar statusbar;

    public Ui_Main() { super(); }

    public void setupUi(QMainWindow Main)
    {
        Main.setObjectName("Main");
        Main.resize(new QSize(571, 222).expandedTo(Main.minimumSizeHint()));
        QSizePolicy sizePolicy = new 
QSizePolicy(com.trolltech.qt.gui.QSizePolicy.Policy.Expanding, 
com.trolltech.qt.gui.QSizePolicy.Policy.Expanding);
        sizePolicy.setHorizontalStretch((byte)0);
        sizePolicy.setVerticalStretch((byte)0);
        sizePolicy.setHeightForWidth(Main.sizePolicy().hasHeightForWidth());
        Main.setSizePolicy(sizePolicy);
        centralwidget = new QWidget(Main);
        centralwidget.setObjectName("centralwidget");
        horizontalLayoutWidget = new QWidget(centralwidget);
        horizontalLayoutWidget.setObjectName("horizontalLayoutWidget");
        horizontalLayoutWidget.setGeometry(new QRect(0, 20, 571, 161));
        horizontalLayout = new QHBoxLayout(horizontalLayoutWidget);
        horizontalLayout.setObjectName("horizontalLayout");
        scrollArea = new QScrollArea(horizontalLayoutWidget);
        scrollArea.setObjectName("scrollArea");
        scrollArea.setWidgetResizable(true);
        scrollAreaWidgetContents = new QWidget();
        scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents");
        scrollAreaWidgetContents.setGeometry(new QRect(0, 0, 567, 157));
        scrollArea.setWidget(scrollAreaWidgetContents);

        horizontalLayout.addWidget(scrollArea);

        Main.setCentralWidget(centralwidget);
        menubar = new QMenuBar(Main);
        menubar.setObjectName("menubar");
        menubar.setGeometry(new QRect(0, 0, 571, 21));
        Main.setMenuBar(menubar);
        statusbar = new QStatusBar(Main);
        statusbar.setObjectName("statusbar");
        Main.setStatusBar(statusbar);
        retranslateUi(Main);

        Main.connectSlotsByName();
    } // setupUi

    void retranslateUi(QMainWindow Main)
    {
       
 Main.setWindowTitle(com.trolltech.qt.core.QCoreApplication.translate("Main", 
"MainWindow", null));
    } // retranslateUi

}

thanks,
canal




________________________________
From: Samu Voutilainen <[email protected]>
To: [email protected]
Sent: Sat, August 21, 2010 6:20:30 PM
Subject: Re: [Qt-jambi-interest] how to define widget resizable

First of all, Jambi uses Java naming convention, so ”Main ” should be ”main”...

You should try as simple example as possible, it looks like those size 
constraints you have and I mentioned in first reply are causing your problems.

go canal kirjoitti lauantai 21 elokuu 2010 13:13:31:
> I can not figure out why. My main window is:
> 
> public class Main extends QMainWindow {
> }
> 
> I use Eclipse, add a horizontal layout, then add a scroll area to it. Here is 
> the generated UI code:
> ---
>     public void setupUi(QMainWindow Main)
>     {
>         Main.setObjectName("Main");
>         Main.resize(new QSize(571, 222).expandedTo(Main.minimumSizeHint()));
>         QSizePolicy sizePolicy = new 
> QSizePolicy(com.trolltech.qt.gui.QSizePolicy.Policy.Expanding, 
> com.trolltech.qt.gui.QSizePolicy.Policy.Expanding);
>         sizePolicy.setHorizontalStretch((byte)0);
>         sizePolicy.setVerticalStretch((byte)0);
>         sizePolicy.setHeightForWidth(Main.sizePolicy().hasHeightForWidth());
>         Main.setSizePolicy(sizePolicy);
>         centralwidget = new QWidget(Main);
>         centralwidget.setObjectName("centralwidget");
>         horizontalLayoutWidget = new QWidget(centralwidget);
>         horizontalLayoutWidget.setObjectName("horizontalLayoutWidget");
>         horizontalLayoutWidget.setGeometry(new QRect(0, 20, 571, 161));
>         horizontalLayout = new QHBoxLayout(horizontalLayoutWidget);
>         horizontalLayout.setObjectName("horizontalLayout");
>         scrollArea = new QScrollArea(horizontalLayoutWidget);
>         scrollArea.setObjectName("scrollArea");
>         scrollArea.setWidgetResizable(true);
>         scrollAreaWidgetContents = new QWidget();
>         scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents");
>         scrollAreaWidgetContents.setGeometry(new QRect(0, 0, 567, 157));
>         scrollArea.setWidget(scrollAreaWidgetContents);
> 
>         horizontalLayout.addWidget(scrollArea);
> 
>         Main.setCentralWidget(centralwidget);
>         menubar = new QMenuBar(Main);
>         menubar.setObjectName("menubar");
>         menubar.setGeometry(new QRect(0, 0, 571, 21));
>         Main.setMenuBar(menubar);
>         statusbar = new QStatusBar(Main);
>         statusbar.setObjectName("statusbar");
>         Main.setStatusBar(statusbar);
>         retranslateUi(Main);
> 
>         Main.connectSlotsByName();
>     } // setupUi
> ----
> 
> I do now what property I need to set so that the scroll area can follow the 
>main 
>
> window.
>  thanks,
> canal
> 
> 
> 
> 
> ________________________________
> From: Samu Voutilainen <[email protected]>
> To: [email protected]
> Sent: Sat, August 21, 2010 5:43:09 PM
> Subject: Re: [Qt-jambi-interest] how to define widget resizable
> 
> go canal kirjoitti lauantai 21 elokuu 2010 10:25:02:
> > Hello,
> > I am using Eclipse. Would like to know how to define a scrollable area such 
> >that 
> >
> > when the main window is resized, the area is also resized. 
> > 
> > I tried to set the horizontal policy to Expand, or Maximize, but no effect.
> >  thanks,
> > canal
> > 
> > 
> > 
> >      
> 
> I can’t currently provide an example, but doesn’t just creating a layout, 
> inserting the area inside it and then inserting it to the widget. And widget 
> will take care of resizing it. This works unless you have other calls that 
> restricts size of the area, but...
> 

-- 
Terveisin,
Samu Voutilainen
http://smar.fi

_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest



      
_______________________________________________
Qt-jambi-interest mailing list
[email protected]
http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest

Reply via email to