View Full Version : ShowMaximized dosen't run in my application. I don't know why.
druidamix
22nd September 2010, 12:30
Hello,
If I create a simple application with qt creator for a mobile with symbian s60. It dosen't maximize the widgets with showMaximized.
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
#if defined(Q_WS_S60)
w.showMaximized();
#else
w.show();
#endif
return a.exec();
}
I don't understand why. Is there a bug?
Or maybe I have to run the function in another widget like the layout grid?
I'm a bit desperated.
Thank you.
nish
22nd September 2010, 12:34
just to make the test... use QMainWindow instead of your Mainwindow and see if the problem persists.
druidamix
22nd September 2010, 17:54
Well, the project use QMainWindow. I show you the code:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
private slots:
void on_pushButton_clicked();
};
#endif // MAINWINDOW_H
main.cpp
#include <QtGui/QApplication>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow2 w;
#if defined(Q_WS_S60)
w.showMaximized();
#else
w.show();
#endif
return a.exec();
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include "ListviewDelegate.h"
QStandardItemModel *model;
ListviewDelegate *listdelegate;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
model = new QStandardItemModel();
listdelegate = new ListviewDelegate();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
ui->listView->setItemDelegate(listdelegate);
ui->listView->setModel(model);
QStandardItem *item = new QStandardItem();
item->setData("InBox",ListviewDelegate::headerTextRole);
item->setData("10 messages",ListviewDelegate::subHeaderTextrole);
item->setData("Hola que tal aixo es una prova jfhjklsd jfdlañj fklañjf lakñfj aklj fadklñfj aklfj aklj falñ",ListviewDelegate::rightTextRole);
model->appendRow(item);
}
Thank youuu!!
wysota
22nd September 2010, 23:44
You probably forgot to apply a layout to your main window.
nish
23rd September 2010, 06:25
I meant that dont use your derived class. Use directly a QMainWindow, just to check wether its a problem in your code.
druidamix
23rd September 2010, 12:09
Thank you!!!!!!!
Using that code works perfectly!!
I'll pay you a coffe. lol
This is the code:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMainWindow wnd;
QWidget* window = new QWidget;
QVBoxLayout* layout = new QVBoxLayout(window);
QPushButton* optsButton = new QPushButton("Options");
QPushButton* exitButton = new QPushButton("Exit");
QCheckBox* chkBox = new QCheckBox("Checkbox");
QListView* listview = new QListView(window);
layout->addWidget(listview);
layout->addWidget(chkBox);
layout->addWidget(optsButton);
layout->addWidget(exitButton);
QObject::connect(exitButton, SIGNAL(clicked()), &app, SLOT(quit()));
wnd.setCentralWidget(window);
#if defined(Q_WS_S60)
wnd.showMaximized();
#else
wnd.show();
#endif
return app.exec();
}
nish
23rd September 2010, 12:49
now check your MainWindow class to see if you have used any of the size/hide/geometry functions that will cause the prob.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.