PDA

View Full Version : GUI window



bmn
6th May 2008, 08:54
hi all

I am creating a GUI window with two Q3Group Boxes. I was able to create the group boxes but unable to display them on the main widget.
I am sending my code please look into it & suggest me the necessary modifications.


#include <QtGui>
#include <Qt3Support/q3groupbox.h>
#include "new.h"

client_window::client_window()
{
createButtonsLayout();
newdisplay();
//createButtonsLayout();
/*maingrid = new QGridLayout;
maingrid->addWidget(display,0,0);
maingrid->addWidget(start,1,0);
maingrid->addWidget(stop,2,0);*/
setLayout(maingrid);
setWindowTitle(tr("Client GUI"));
resize(640,480);
}

void client_window::createdisplay()
{
QString format = "png";
QString initialPath = QDir::currentPath() + tr("/untitled.") + format;
QString fileName = QFileDialog::getOpenFileName(this, tr("Open"),
initialPath,tr("%1 Files (*.%2);;All Files (*)")
.arg(format.toUpper()).arg(format));
if (!fileName.isEmpty())
{
QPixmap p(fileName);
//display->setMovie(p);
display->resize(640,480);
p=p.scaled ( display->width(),display->height(), Qt::IgnoreAspectRatio,
Qt::SmoothTransformation );
display->setPixmap(p);
}
}

void client_window::createButtonsLayout()
{
start = createButton(tr("Start"),this, SLOT(createdisplay()));
stop = createButton(tr("Stop"), this, SLOT(close()));
}

QPushButton *client_window::createButton(const QString &text, QWidget *receiver,
const char *member)
{
QPushButton *button = new QPushButton(text);
button->connect(button, SIGNAL(clicked()), receiver, member);
return button;
}

void client_window::newdisplay()
{
//maingrid = new QGridLayout();
display = new QLabel;
display->setObjectName(QString::fromUtf8("Image"));
display->resize(640,480);

options = new Q3GroupBox;
options->setObjectName(QString::fromUtf8("options"));
options->setGeometry(QRect(6, 380, 264, 93));
QFont font;
font.setPointSize(11);
options->setFont(font);
options->setColumnLayout(0, Qt::Vertical);
maingrid = new QGridLayout();
QBoxLayout *boxlayout = qobject_cast<QBoxLayout *>(options->layout());
if (boxlayout)
boxlayout->addLayout(maingrid);
maingrid->setAlignment(Qt::AlignTop);
maingrid->setObjectName(QString::fromUtf8("maingrid"));
gridLayout1= new QGridLayout();
gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
label = new QLabel(options);
label->setObjectName(QString::fromUtf8("label"));
label->setFont(font);
label->setText("&Port Address");


gridLayout1->addWidget(label, 0, 0, 1, 1);

lineEdit = new QLineEdit(options);
lineEdit->setObjectName(QString::fromUtf8("lineEdit"));
lineEdit->setFont(font);


gridLayout1->addWidget(lineEdit, 0, 1, 1, 2);

spacerItem = new QSpacerItem(53, 20, QSizePolicy::Expanding,
QSizePolicy::Minimum);
gridLayout1->addItem(spacerItem, 1, 0, 1, 1);

//start = new QPushButton(options);
//start->setObjectName(QString::fromUtf8("Start"));
//start->setFont(font);
//start->setText("Start");
//createButtonsLayout();

gridLayout1->addWidget(start, 1, 1, 1, 1);

//stop = new QPushButton(options);
//stop->setObjectName(QString::fromUtf8("stop"));
//stop->setFont(font);
//stop->setText("Stop");

gridLayout1->addWidget(stop, 1, 2, 1, 1);

//maingrid = new QGridLayout();
maingrid->addLayout(gridLayout1, 0, 0, 1, 1);
maingrid->addWidget(display,2,0,1,1);

logmessages = new Q3GroupBox;
logmessages->setObjectName(QString::fromUtf8("logmessages"));
logmessages->setGeometry(QRect(278, 380, 346, 92));
logmessages->setFont(font);
logmessages->setColumnLayout(0, Qt::Vertical);
gridLayout2 = new QGridLayout();
QBoxLayout *boxlayout1 = qobject_cast<QBoxLayout *>(logmessages->layout());

if (boxlayout1)
boxlayout1->addLayout(gridLayout2);
gridLayout2->setAlignment(Qt::AlignTop);
gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
//maingrid->addLayout(gridLayout2,0,1,1,1);
//graphicsView = new QGraphicsView(centralwidget);
//graphicsView->setObjectName(QString::fromUtf8("graphicsView"));
//graphicsView->setGeometry(QRect(5, 9, 620, 369));
//graphicsView->setAutoFillBackground(true);
//MainWindow->setCentralWidget(centralwidget);
label->setBuddy(lineEdit);
}

marcel
6th May 2008, 10:52
First things I notice are that you don't set a parent for the group box and you don't add it to a layout.

Try doing that and see if you get anymore problems.

bmn
6th May 2008, 11:26
How to create parent for QGroupBox

mazurekwrc
6th May 2008, 11:37
add QGroupBox to layout and it set parent for this widget