Название: QVector.clear() Отправлено: J. Bond от Июнь 19, 2007, 11:45 есть класс полученный наследованием QGroupBox и еще одного класса, написанного мной. Этот класс запихнут в вектор при очистке вектора компилятор ругается: cannot access private member declared in QGroupBox.
Код:
В чем проблема? Название: QVector.clear() Отправлено: Tonal от Июнь 19, 2007, 12:14 Наследников QObject нельзя пихать в QVector.
Можно пихать указатели на них. Читай доку. Смотри мои объяснения для QList здесь: http://prog.org.ru/forum/topic_5549.html Название: QVector.clear() Отправлено: J. Bond от Июнь 19, 2007, 14:56 Спасиб
добавлено спустя 2 часа 26 минут: Еще вопрос. Все тот же класс, хочу связать сигнал со слотом: connect(this,SIGNAL(clicked()),SLOT(on_group_click())); связываю в конструкторе класса. Коннектит нормально(возвращает true), но при клике по групбоксу ничего не происходит. В чем проблема? Название: QVector.clear() Отправлено: vregess от Июнь 19, 2007, 17:29 Цитата: "J. Bond" Все тот же класс, хочу связать сигнал со слотом: connect(this,SIGNAL(clicked()),SLOT(on_group_click())); В чем проблема? Забыл указать чей слот (3-ий параметр) Код:
Название: QVector.clear() Отправлено: J. Bond от Июнь 19, 2007, 17:31 Это необязательно когда коннектишь на себя.
Так я тоже пробовал :( Название: QVector.clear() Отправлено: Klaustrofob от Июнь 19, 2007, 18:45 Q_OBJECT написал при определении класса?
Название: QVector.clear() Отправлено: J. Bond от Июнь 20, 2007, 10:13 Конечно, вообще коннект выдает тру, т.е. все описано правильно, но при клике не происходит посылки сигнала
Название: QVector.clear() Отправлено: Tonal от Июнь 20, 2007, 11:13 А у тебя QGroupBox чекабленный?
Клик посылается только в этом режиме, и только при нажатии в чек: Цитировать void QGroupBox::clicked ( bool checked = false ) [signal] .This signal is emitted when the check box is activated (i.e. pressed down then released while the mouse cursor is inside the button), or when the shortcut key is typed, Notably, this signal is not emitted if you call setChecked() |