Russian Qt Forum
Ноябрь 15, 2024, 12:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Расширить окно  (Прочитано 2752 раз)
Romaboy
Гость
« : Июнь 03, 2013, 17:50 »

Здравствуйте, у меня проект на qt webkit, в html5applicationviewer.cpp размер окна изменяется так:
Код:
m_webView->resize(width, height);
m_webView объявляется так:
Код:
class Html5ApplicationViewerPrivate : public QGraphicsView
{
public:
    QGraphicsWebView *m_webView;
};
В ООП я, к сожалению, не силён, так что на самом деле объявляется так:
Код:
m_webView = new QGraphicsWebView;
Но это чуть ниже, поэтому не знаю кто из них объявляет или инициализирует или ещё какие-нибудь умные слова.
Помогите, пожалуйста, получить доступ к этому m_webView из файла заголовка, чтобы функция изменения размера заработала:
Код:
void myResize(int w, int h){m_webView->resize(w, h);}
и потом можно было ресайзить окно прямиком из джаваскрипта. Быть может, вы знаете другие способы изменить размер окна во время выполнения проги, прошу поделиться.
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Июнь 03, 2013, 18:34 »

Это что ли вы имели ввиду?  Непонимающий

Код:
class Html5ApplicationViewerPrivate : public QGraphicsView
{
Q_OBJECT

public:
    Html5ApplicationViewerPrivate()
   {
      m_webView = new QGraphicsWebView;

     setLayout(new QVBoxLayout());
     
     layout()->addWidget(m_webView);
   }

public:
    QGraphicsWebView *m_webView;

public:
   void myResize(int w, int h)
   {
     m_webView->resize(w, h);
   }
};
Записан

Romaboy
Гость
« Ответ #2 : Июнь 04, 2013, 00:41 »

class Html5ApplicationViewerPrivate : public QGraphicsView я для наглядности сократил, у меня он стандартный и выглядит не так. Всего лишь интересует как и где задать myResize(), чтобы потом к нему обращаться можно было из мэйна и ресайзить окно во время выполнения программы. Как можно к m_webView доступ получить из мэйна?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Июнь 04, 2013, 10:18 »

в не-Private классе (скорее всего это будет класс Html5ApplicationViewer, который содержит приватный член Html5ApplicationViewerPrivate *d) допиши паблик метод
Код
C++ (Qt)
QGraphicsWebView *webView() const { return d->m_webView; }
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.159 секунд. Запросов: 23.