Hi to all!
I have following question regarding my problem. I've made QMainWindow and inside it I have one QDockWindow. Inside QDockWindow there is a tab widget with two tabs, one for QGraphicsView and other for QWebView. Now, QMainWindow is always maximized to full screen. I would also to maximize this docking window so it cannot be resized. Then, the sizes of QGraphicsView and QWebView also must be maximized. How do I achieve that. Here is the code of header:
#ifndef CCENTRALWIDGET_H
#define CCENTRALWIDGET_H
#include <QtGui/QDockWidget>
#include <QtGui/QTabWidget>
#include <QtGui/QGraphicsView>
#include <QtWebKit/QWebView>
#include <QtGui/QWidget>
#include <QtGui/QSizePolicy>
#include <QtCore/QString>
//#include "ui_ccentralwidget.h"
{
Q_OBJECT
public:
CCentralWidget(/*const QString& strTitle,*/
Qt::WindowFlags flags=0);
~CCentralWidget();
{ return m_pOptionsWidget; };
{ return m_pMerchandizeView; };
inline QWebView* webpageView() const
{ return m_pWebPageView; };
inline QWidget* merchandizeViewContainer
() const { return m_pMerchandizeViewContainer; };
inline QWidget* webpageContainer
() const { return m_pWebPageContainer; };
private:
void createOptionsWidget(); // method for creation options tab
void createMerchnadizeView(); // method for creating merchandize view
void createWebPageView(); // method for creating web page view
/*
private:
Ui::CCentralWidgetClass ui;
*/
private:
QTabWidget* m_pOptionsWidget;
// tabulator styled options widget QWebView* m_pWebPageView; // web page object
QWidget* m_pMerchandizeViewContainer;
// merchandize graphics view container widget QWidget* m_pWebPageContainer;
// web page view container widget; };
#endif // CCENTRALWIDGET_H
#ifndef CCENTRALWIDGET_H
#define CCENTRALWIDGET_H
#include <QtGui/QDockWidget>
#include <QtGui/QTabWidget>
#include <QtGui/QGraphicsView>
#include <QtWebKit/QWebView>
#include <QtGui/QWidget>
#include <QtGui/QSizePolicy>
#include <QtCore/QString>
//#include "ui_ccentralwidget.h"
class CCentralWidget : public QDockWidget
{
Q_OBJECT
public:
CCentralWidget(/*const QString& strTitle,*/
QWidget *pParent=0,
Qt::WindowFlags flags=0);
~CCentralWidget();
inline QTabWidget* optionsWidget() const
{ return m_pOptionsWidget; };
inline QGraphicsView* merchandizeView() const
{ return m_pMerchandizeView; };
inline QWebView* webpageView() const
{ return m_pWebPageView; };
inline QWidget* merchandizeViewContainer() const
{ return m_pMerchandizeViewContainer; };
inline QWidget* webpageContainer() const
{ return m_pWebPageContainer; };
private:
void createOptionsWidget(); // method for creation options tab
void createMerchnadizeView(); // method for creating merchandize view
void createWebPageView(); // method for creating web page view
/*
private:
Ui::CCentralWidgetClass ui;
*/
private:
QTabWidget* m_pOptionsWidget; // tabulator styled options widget
QGraphicsView* m_pMerchandizeView; // merchandize graphics view
QWebView* m_pWebPageView; // web page object
QWidget* m_pMerchandizeViewContainer; // merchandize graphics view container widget
QWidget* m_pWebPageContainer; // web page view container widget;
};
#endif // CCENTRALWIDGET_H
To copy to clipboard, switch view to plain text mode
And here is implementation file:
#include "ccentralwidget.h"
CCentralWidget::CCentralWidget(/*const QString& strTitle,*/
Qt::WindowFlags flags)
pParent,
flags)
{
//ui.setupUi(this);
createOptionsWidget(); // creates options tabulator
createMerchnadizeView(); // creates merchandize view
createWebPageView(); // creates web page view
optionsWidget()->addTab(merchandizeViewContainer(),
tr("Room service"));
optionsWidget()->addTab(webpageContainer(),
tr("City sightseeings"));
}
CCentralWidget::~CCentralWidget()
{
delete m_pOptionsWidget; // deletes options widget
m_pOptionsWidget=0; // safe mode
}
void CCentralWidget::createOptionsWidget()
{
m_pOptionsWidget
=new QTabWidget(this);
// creates tab widget Q_CHECK_PTR(m_pOptionsWidget); // checks creation
optionsWidget()->setAutoFillBackground(true); // sets background filling ON
optionsWidget
()->setTabPosition
(QTabWidget::West);
// sets tab position optionsWidget
()->setTabShape
(QTabWidget::Rounded);
// sets tab shape optionsWidget()->setFocusPolicy(Qt::NoFocus); // disables focus
optionsWidget()->setContextMenuPolicy(Qt::NoContextMenu); // disables context menu
setWidget(optionsWidget()); // sets widget contens
}
void CCentralWidget::createMerchnadizeView()
{
m_pMerchandizeViewContainer
=new QWidget(optionsWidget
());
// creates new widget Q_CHECK_PTR(m_pMerchandizeViewContainer); // checks creation
/*
merchandizeViewContainer()->setGeometry(optionsWidget()->geometry().x(),
optionsWidget()->geometry().y(),
optionsWidget()->geometry().width(),
optionsWidget()->geometry().height());
*/
m_pMerchandizeView
=new QGraphicsView(merchandizeViewContainer
());
// creates new merchandize view; Q_CHECK_PTR(m_pMerchandizeView); // checks creation
/*
merchandizeView()->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,
QSizePolicy::Fixed));
merchandizeView()->setGeometry(merchandizeViewContainer()->geometry().x(),
merchandizeViewContainer()->geometry().y(),
merchandizeViewContainer()->geometry().width(),
merchandizeViewContainer()->geometry().height());
*/
}
void CCentralWidget::createWebPageView()
{
m_pWebPageContainer
=new QWidget(optionsWidget
());
// creates new widget Q_CHECK_PTR(m_pWebPageContainer); // checks creation
m_pWebPageView=new QWebView(webpageContainer()); // creates new web page view
Q_CHECK_PTR(m_pWebPageView); // checks creation
webpageView
()->setUrl
(QString("http://www.google.com"));
// test page showing}
#include "ccentralwidget.h"
CCentralWidget::CCentralWidget(/*const QString& strTitle,*/
QWidget *pParent,
Qt::WindowFlags flags)
: QDockWidget(/*strTitle,*/
pParent,
flags)
{
//ui.setupUi(this);
createOptionsWidget(); // creates options tabulator
createMerchnadizeView(); // creates merchandize view
createWebPageView(); // creates web page view
optionsWidget()->addTab(merchandizeViewContainer(),
tr("Room service"));
optionsWidget()->addTab(webpageContainer(),
tr("City sightseeings"));
}
CCentralWidget::~CCentralWidget()
{
delete m_pOptionsWidget; // deletes options widget
m_pOptionsWidget=0; // safe mode
}
void CCentralWidget::createOptionsWidget()
{
m_pOptionsWidget=new QTabWidget(this); // creates tab widget
Q_CHECK_PTR(m_pOptionsWidget); // checks creation
optionsWidget()->setAutoFillBackground(true); // sets background filling ON
optionsWidget()->setTabPosition(QTabWidget::West); // sets tab position
optionsWidget()->setTabShape(QTabWidget::Rounded); // sets tab shape
optionsWidget()->setFocusPolicy(Qt::NoFocus); // disables focus
optionsWidget()->setContextMenuPolicy(Qt::NoContextMenu); // disables context menu
setWidget(optionsWidget()); // sets widget contens
}
void CCentralWidget::createMerchnadizeView()
{
m_pMerchandizeViewContainer=new QWidget(optionsWidget()); // creates new widget
Q_CHECK_PTR(m_pMerchandizeViewContainer); // checks creation
/*
merchandizeViewContainer()->setGeometry(optionsWidget()->geometry().x(),
optionsWidget()->geometry().y(),
optionsWidget()->geometry().width(),
optionsWidget()->geometry().height());
*/
m_pMerchandizeView=new QGraphicsView(merchandizeViewContainer()); // creates new merchandize view;
Q_CHECK_PTR(m_pMerchandizeView); // checks creation
/*
merchandizeView()->setSizePolicy(QSizePolicy(QSizePolicy::Fixed,
QSizePolicy::Fixed));
merchandizeView()->setGeometry(merchandizeViewContainer()->geometry().x(),
merchandizeViewContainer()->geometry().y(),
merchandizeViewContainer()->geometry().width(),
merchandizeViewContainer()->geometry().height());
*/
}
void CCentralWidget::createWebPageView()
{
m_pWebPageContainer=new QWidget(optionsWidget()); // creates new widget
Q_CHECK_PTR(m_pWebPageContainer); // checks creation
m_pWebPageView=new QWebView(webpageContainer()); // creates new web page view
Q_CHECK_PTR(m_pWebPageView); // checks creation
webpageView()->setUrl(QString("http://www.google.com")); // test page showing
}
To copy to clipboard, switch view to plain text mode
That commented geometry statements do not work
. Please help!
Bookmarks