Название: Создания виджета Отправлено: vanix от Февраль 16, 2011, 17:23 Вопрос в следующем: создаю главный виджет и зависимый следующим образом:
Код: #include <QtGui> при сборке выдается следующее сообщение: conversion from 'QWidget*' to non-scalar type 'QWidget' requested Если убрать = new QWidget(&mainWidget), то естественно все собирается и работает. В чем ошибка? Хотя, если следовать хелпу, то все должно быть правильно. Описание конструктора QWidget: QWidget::QWidget ( QWidget * parent = 0, Qt::WindowFlags f = 0 ) Constructs a widget which is a child of parent, with widget flags set to f. Название: Re: Создания виджета Отправлено: twp от Февраль 16, 2011, 17:28 Код: QWidget *commandWidget = new QWidget(&mainWidget); Название: Re: Создания виджета Отправлено: vanix от Февраль 16, 2011, 17:42 twp, спасибо.
но тут возникает другой вопрос. Код: #include <QtGui> В результате выполнения, я чего то подчиненного виджета не наблюдаю?? Что тут опять не так? Название: Re: Создания виджета Отправлено: Пантер от Февраль 16, 2011, 17:43 Другой вопрос не ясен. :)
Название: Re: Создания виджета Отправлено: vanix от Февраль 16, 2011, 17:45 извините за оффтоп:
я правил пост )) Название: Re: Создания виджета Отправлено: Пантер от Февраль 16, 2011, 17:51 Ты его не видишь, но он существует. :) Замени второй QWidget на, к примеру, QLineEdit.
И читай про компоновку. Название: Re: Создания виджета Отправлено: ruzik от Февраль 16, 2011, 17:59 Вот например
Код: #include <QApplication> Название: Re: Создания виджета Отправлено: vanix от Февраль 16, 2011, 18:02 Пантер, спасибо.
То есть, как я понял, он создается на главном виджете? Если так, то как сделать что бы они отражались как отдельные. Задача в следующем, создать многооконное приложение, при уничтожении главного виджета должны умереть все остальные(что-то наподобие GIMP'a). Или в данной ситуации возможно только отлавливание сигналов? Название: Re: Создания виджета Отправлено: Пантер от Февраль 16, 2011, 18:02 ruzik, к чему этот пример? Я как понял, человек хочет расположить один виджет на другом.
Название: Re: Создания виджета Отправлено: Пантер от Февраль 16, 2011, 18:03 QWidget* commandWidget = new QWidget(&mainWidget);
Ты назначаешь родителя. QWidget* commandWidget = new QWidget(0); Тут не указываешь родителя, так что виджет отобразится отдельно. Название: Re: Создания виджета Отправлено: vanix от Февраль 16, 2011, 18:05 ну я уже понял, что если не указывать родителя, то все нормально, но преимущество задания родителя в том, что когда умирает родитель умирают и все его потомки.
Название: Re: Создания виджета Отправлено: Пантер от Февраль 16, 2011, 18:08 Тут уж выбирай: или шашечки, или ехать. :)
Название: Re: Создания виджета Отправлено: vanix от Февраль 16, 2011, 18:12 спасибо всем, ток я не понял при чем тут пример который привел ruzik))
Название: Re: Создания виджета Отправлено: ruzik от Февраль 16, 2011, 18:25 У тебя выскакивали ошибки
Цитировать conversion from 'QWidget*' to non-scalar type 'QWidget' requested То есть ты забыл сделать указатель и инициализировать егоЦитировать В результате выполнения, я чего то подчиненного виджета не наблюдаю?? Что тут опять не так? Тут использовал объект, который не отображаетсяВот я тебе и скинул пример, в котором это все реализовано, так для справки |