2836
|
Qt / Общие вопросы / Re: Спасите!!! файлы Ui
|
: Ноябрь 10, 2009, 11:29
|
где сохранять - решать тебе. Вообще логично, что настройки окна (в частности триВиджета) должны читаться\сохраняться когда окно создается удаляется (т.е. в конструкторе\деструкторе). Единственный совет - сделать отдельными функциями, прозе будет переделать если вдруг захочется. Однако часто чтение настроек выносят в мейн, а запись бывает раскидана по коду (т.е. сохраняется напрямую в момент редактирования - по кнопке Apply допустим в неком диалоге).
|
|
|
2841
|
Qt / Общие вопросы / Re: Спасите!!! файлы Ui
|
: Ноябрь 10, 2009, 10:43
|
ты сохранить стейт окна попробовал? я просто не работал с этой фичей и хз какие параметры он запоминает где-то объявлено QSettings settings;
void saveItem(QTreeWidgetItem* item) { settings.beginGroup(item->data(0, Qt::DisplayRole)); settings.setValue("1", item->data(1, Qt::DisplayRole)); settings.setValue("2", item->data(2, Qt::DisplayRole)); //и тд for(int i = 0; i < item->childCount(); i++) { QTreeWidgetItem* child = item->child(i); saveItem(child); } settings.endGroup(); }
voidSaveTree() { settings.beginGroup("tree"); saveItem(topItem) for(int i = 0; i < treeWidget->topLevelItemCount(); i++) { QTreeWidgetItem* item= treeWidget->takeTopLevelItem(i); saveItem(item); } settings.endGroup(); }
Чтение надо делать с помощью childGroups - вошли в группу "tree" и дальше рекурсивно
|
|
|
2844
|
Qt / Общие вопросы / Re: Спасите!!! файлы Ui
|
: Ноябрь 10, 2009, 10:13
|
дерево в дизайнере заполняется в функции SetupUi. И просто повторяется вызов этой функции. Ты можешь конечно написать свою функцию добавляющую, скажем 10 итемов, и звать ее при открытии программы. А смысл такой статики?
Это как "почему я создаю файл, он пустой и если я создам новый то он тоже будет пустой, а если я туда напишу чего-нибудь, этого не будет при создании еще одного"
|
|
|
2846
|
Qt / Общие вопросы / Re: Спасите!!! файлы Ui
|
: Ноябрь 10, 2009, 09:57
|
кого из? про QSettings все в доке http://doc.trolltech.com/4.5/qsettings.html кстати вспомнил что есть такая штука как сохранение состояния окна, как-то так: void MyMainWindow::closeEvent(QCloseEvent *event) { QSettings settings("MyCompany", "MyApp"); settings.setValue("geometry", saveGeometry()); settings.setValue("windowState", saveState()); QMainWindow::closeEvent(event); } void MainWindow::readSettings() { QSettings settings("MyCompany", "MyApp"); restoreGeometry(settings.value("myWidget/geometry").toByteArray()); restoreState(settings.value("myWidget/windowState").toByteArray()); } может помочь
|
|
|
2849
|
Qt / Qt-инструментарий / Designer
|
: Ноябрь 06, 2009, 20:22
|
в доке о скролл арея есть код QLabel *imageLabel = new QLabel; QImage image("happyguy.png"); imageLabel->setPixmap(QPixmap::fromImage(image));
scrollArea = new QScrollArea; scrollArea->setWidget(imageLabel); Как его реализовать в дизайнере? То есть как сделать setWidget для скролл ареа ну или например QMainWindow?
|
|
|
|
|