Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
16.12.2012, 17:25 | Открытие одной формы по клику из другой | зачем человека плохому учите... при подходе "сохранять указатель..." будет правильно работать если форма 2 вызывается только из формы 1, в случае же если это форма истории, то обычно она открывается из как минимум 2х мест: из формы списка сущностей и из формы просмотра-редактирования сущности. Тогда открыв форму истории из списка и попутно попытаетесь открыть из формы редактирования, у вас получится 2 формы истории причём запросто 2х разных сущностей. Тут может быть 2 решения: 1) Сделать форму синглтоном (пишу с телефона не очень удобно код писать, но там не много переделывать ) 2) в конструкторе формы истории добавить в свойства приложения свойство существования формы истории: qApp.setProperty("formHistory", true), в деструкторе устанавливать это свойство в false, а методах открытия истории проверяешь свойство, и если false создаёшь форму. Но лучше сделать через синглтон-одиночка общепринятый паттерн, профит получишь, в резюме сможешь добавить "применяю паттерны программирования...". чтоб нормально кампилилось и не нужно было в каждый проект таскать библиотеки, создай переменную среды path и qtdir для чего они и что должны содержать ищи а асистенте. #include "history.h" - не угловые скобки, а кавычки hst->show(); - бкдет не достаточно, если форма открыта, но находится за другой формой будет пичалька, поэтому форме истории нужно делать ещё и rise() - рассвет, выводит форму на первый план, возможно написал с ошибкой посмотри в асистенте как правильно писать. *недостаточно |
lex_qt, | ||
18.5.2011, 10:21 | Проход xml | у Вас должно получиттся:
|
epishev, | ||
17.5.2011, 15:32 | Проход xml | делаю вот так:
тут я прохожу по всем нодам с определенным именем в Вашем случае "scene". могу ошибаться, но нужно ставить не в if, а за ним, ибо тогда есть вероятность, что
будет false и курсор не сдвинется на след нод => domNode не изменится. |
epishev, | ||
17.12.2010, 17:48 | создание виджетов в ходе работы программы | для eldar85 myPage::myPage() { pushButton = new QPushButton; textEdit = new QTextEdit; groupBox = new QGroupBox; layoutV = new QVBoxLayout; layoutV->addWidget(textEdit); layoutV->addWidget(pushButton); groupBox->setLayout(layoutV); } не забудь давать перентов элементам через new: myPage::myPage() { pushButton = new QPushButton(this); textEdit = new QTextEdit(this); groupBox = new QGroupBox(this); layoutV = new QVBoxLayout(this); layoutV->addWidget(textEdit); layoutV->addWidget(pushButton); groupBox->setLayout(layoutV); } чтоб память руками не чистить в деструкторе, а то если и в деструкторе забудешь, то твоя прога будет беспощадно жрать память у очень общительных людей =) Алексей1153 дело говорит: myPage::myPage() унаследуй от QWidget, а не закладку добавляй свой класс. Динамически это самое интересное пример класса, который добавляется динамически:
Пример динамического добавления и удаления класса:
в общем случае примерно так. Может топорно? профи критикуйте пожалуйста |
eldar85, | ||
Текстовая версия | Сейчас: 25.11.2024, 22:06 |