PDA

View Full Version : Orientation Problem



prajnaranjan.das
7th February 2011, 12:17
According to the link ,I have done it vertically but I want to do the things horizontally as I have mentioned in the link but cant able to....Can somebody please help me....


https://picasaweb.google.com/pradhikari88/NOKIA#

high_flyer
7th February 2011, 13:01
Can somebody please help me....
Maybe, if you explain what the problem is, post the code etc.

prajnaranjan.das
7th February 2011, 13:16
QWidget *bgWidget = new QWidget(this);
bgWidget->setObjectName(QString::fromUtf8("bgWidget"));
bgWidget->setStyleSheet("QWidget#bgWidget{background-image: url(:/images/Resource/n8_home_bg.jpg);}");

QFont sansFont("Helvetica [Cronyx]", 15);

// create buttons
QPushButton *video = new QPushButton("VIDEOS");
video->setObjectName(QString::fromUtf8("video"));
video->setStyleSheet(QString::fromUtf8("QPushButton#video{\n"
" border: 1px solid #333; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #0f3f5c, stop: 1 #0a354e);\n"
"}\n"
"\n"
"QPushButton#video:pressed{\n"
" border: 1px solid #333; \n"
" color: #8a9fac; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #adcbd9, stop: 1 #fff);\n"
"}"));
video->setFixedHeight(80);
video->setFont(sansFont);

QPushButton *photo = new QPushButton("PHOTOS");
photo->setObjectName(QString::fromUtf8("photo"));
photo->setStyleSheet(QString::fromUtf8("QPushButton#photo{\n"
" border: 1px solid #333; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #0f3f5c, stop: 1 #0a354e);\n"
"}\n"
"\n"
"QPushButton#photo:pressed{\n"
" border: 1px solid #333; \n"
" color: #8a9fac; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #adcbd9, stop: 1 #fff);\n"
"}"));
photo->setFixedHeight(80);
photo->setFont(sansFont);

QPushButton *radio = new QPushButton("RADIO");
radio->setObjectName(QString::fromUtf8("radio"));
radio->setStyleSheet(QString::fromUtf8("QPushButton#radio{\n"
" border: 1px solid #333; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #0f3f5c, stop: 1 #0a354e);\n"
"}\n"
"\n"
"QPushButton#radio:pressed{\n"
" color: #8a9fac; \n"
" border: 1px solid #333; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #adcbd9, stop: 1 #fff);\n"
"}"));
radio->setFixedHeight(80);
radio->setFont(sansFont);

QPushButton *news = new QPushButton("NEWS");
news->setObjectName(QString::fromUtf8("news"));
news->setStyleSheet(QString::fromUtf8("QPushButton#news{\n"
" border: 1px solid #333; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #0f3f5c, stop: 1 #0a354e);\n"
"}\n"
"\n"
"QPushButton#news:pressed{\n"
" border: 1px solid #333; \n"
" color: #8a9fac; \n"
" background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,stop: 0 #adcbd9, stop: 1 #fff);\n"
"}"));
news->setFixedHeight(80);
news->setFont(sansFont);

// Setup button layouts
QVBoxLayout *buttonLayout = new QVBoxLayout(bgWidget);
buttonLayout->setContentsMargins(0,150,0,3);
buttonLayout->setSpacing(3);
buttonLayout->addWidget(video);
buttonLayout->addWidget(photo);
buttonLayout->addWidget(radio);
buttonLayout->addWidget(news);

bgWidget->setLayout(buttonLayout);

// Setup main layout
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->setContentsMargins(0,0,0,0);
mainLayout->addWidget(bgWidget);
this->setLayout(mainLayout);

high_flyer
7th February 2011, 13:50
So just change from QVBoxLayout to QHBoxLayout.

prajnaranjan.das
7th February 2011, 14:19
Thanks for your reply....I tried but not working....Actually I want my QLabel should appear from top of the buttons to the lefthand side of the Buttons as I have mensioned the images in my link..My vertical and horizontal view are coming properly but I want It should appear like the horizontal image I have given....I have tried a lot in all the way I know but cant able to.....could you please tell me exactly what I have to do in this....

high_flyer
7th February 2011, 14:46
.I tried but not working..
Show your code (that is not working)

prajnaranjan.das
8th February 2011, 14:20
I have done upto this and here how can I declare a function based on my screen size ....means if (screen size =someValue)
stackedWidget->setCurrentIndex(0);

can anybody please tell me how should I declare a function for this
i'm getting my screen size like this...

SIZE:: QSize(360, 640)
SIZE:: QSize(640, 360)





#include <QtGui/QVBoxLayout>
#include <QtGui/QPushButton>
#include <QtGui>
#include <QResizeEvent>

#include "rotate.h"


Rotate::Rotate(QWidget *parent) :
QWidget(parent)

{

QWidget *vWidget = new QWidget;
vWidget->setObjectName(QString::fromUtf8("vWidget"));

QPushButton *video1 = new QPushButton("VIDEOS");
video1->setObjectName(QString::fromUtf8("video1"));
video1->setFixedHeight(80);

QPushButton *photo1 = new QPushButton("PHOTOS");
photo1->setObjectName(QString::fromUtf8("photo1"));
photo1->setFixedHeight(80);

QPushButton *radio1 = new QPushButton("RADIO");
radio1->setObjectName(QString::fromUtf8("radio1"));
radio1->setFixedHeight(80);

QPushButton *news1 = new QPushButton("NEWS");
news1->setObjectName(QString::fromUtf8("news"));
news1->setFixedHeight(80);


QVBoxLayout *buttonLayout1 = new QVBoxLayout(vWidget);
buttonLayout1->setContentsMargins(0,150,0,3);
buttonLayout1->setSpacing(3);
buttonLayout1->addWidget(video1);
buttonLayout1->addWidget(photo1);
buttonLayout1->addWidget(radio1);
buttonLayout1->addWidget(news1);
vWidget->setLayout(buttonLayout1);


/////////////////////////////////////////////////////////


QWidget *hWidget = new QWidget;

QLabel *label = new QLabel;

QPushButton *video2 = new QPushButton("VIDEOS");
video2->setObjectName(QString::fromUtf8("video2"));
video2->setFixedHeight(60);

QPushButton *photo2 = new QPushButton("PHOTOS");
photo2->setObjectName(QString::fromUtf8("photo2"));
photo2->setFixedHeight(60);

QPushButton *radio2 = new QPushButton("RADIO");
radio2->setObjectName(QString::fromUtf8("radio2"));
radio2->setFixedHeight(60);

QPushButton *news2 = new QPushButton("NEWS");
news2->setObjectName(QString::fromUtf8("news2"));
news2->setFixedHeight(60);

QVBoxLayout *buttonLayout2 = new QVBoxLayout;
buttonLayout2->addWidget(video2);
buttonLayout2->addWidget(photo2);
buttonLayout2->addWidget(radio2);
buttonLayout2->addWidget(news2);

QPushButton *home = new QPushButton("HOME");
QPushButton *back = new QPushButton("BACK");

QHBoxLayout *hLayout2 = new QHBoxLayout;
hLayout2->addWidget(home);
hLayout2->addWidget(back);

QVBoxLayout *vLayout2 = new QVBoxLayout;
vLayout2->addWidget(label);
vLayout2->addLayout(hLayout2);


QHBoxLayout *hLayout3 = new QHBoxLayout(hWidget);
hLayout3->addLayout(vLayout2);
hLayout3->addLayout(buttonLayout2);
hWidget->setLayout(hLayout3);


///////////////////////////////////////////////////////////////


QStackedWidget *stackedWidget = new QStackedWidget;
stackedWidget->addWidget(vWidget);
stackedWidget->addWidget(hWidget);

QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(stackedWidget);
setLayout(layout);

stackedWidget->setCurrentIndex(1);
}



void Rotate::resizeEvent(QResizeEvent *event)
{
qDebug()<<"SIZE::"<<qApp->desktop()->size();
}