crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Все обьекты новые - это строго?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 16.5.2009, 0:29
 
Цитата(Гость_Гость_* @ 16.5.2009, 3:28) *
Значит нужно хранить? QWidget ее не копирует?
вообще я как-то не задумывался над этим вопросом, может быть по тому, что я получаю плитру виджета
myWidget->palette();
корректирую её как мне надо и устанавливаю назад.
Гость Дата 15.5.2009, 23:30
 
Цитата(ViGOur @ 15.5.2009, 23:24) *
Решил обьявить статик.

Обьявил как статический обьект в теле функции
Гость Дата 15.5.2009, 23:28
 
Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
что значит новым?

в куче
Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
А апликэцию во всех примерах создают в стеке
говори на русском языке, многи вопросы сами посебе отпадут.

 int main(int argc, char **argv)
{  QApplication app(argc, argv, useGUI);
     return app.exec();
}



Цитата(Litkevich Yuriy @ 15.5.2009, 23:19) *
You can copy a palette using the copy constructor and test to see if two palettes are identical using isCopyOf().
QPalette is optimized by the use of implicit sharing, so it is very efficient to pass QPalette objects as arguments.

Значит нужно хранить? QWidget ее не копирует?
ViGOur Дата 15.5.2009, 23:24
 
Цитата(Гость_Гость_* @ 16.5.2009, 0:04) *
Ассистант ясности не вносит. Вдруг она содержит хендлы виндусовые и дублирование не желательно.
В этом можешь быть уверен, если код работает только под вынь или иксами это оговаривается в асистенте. Если нет, то используй смело. Честно говоря ни разу не попадал...
Цитата(Гость_Гость_* @ 16.5.2009, 0:04) *
Решил обьявить статик. Но имею сомнения, если подклется к какомуто обьеку то может деструктироватся 2 раза - первый раз от владельца, второй раз как статический обьект.
А это совсем не понял, что ты имеешь ввиду. Может пятница потому и не понял? :)

з.ы. и правда, постарайся по возможности грамотно писать, а то глаз режет и замодерировать хочется. ;)
Гость Дата 15.5.2009, 23:19
  ЗЫ поглядел QPalette обьектом не является, но вопрос остается и адреса 3da940 какието странные, на куче не такие
Litkevich Yuriy Дата 15.5.2009, 23:19
 
Цитата(Гость_Гость_* @ 16.5.2009, 3:04) *
сделать новым
что значит новым?

Цитата(Гость_Гость_* @ 16.5.2009, 3:04) *
А апликэцию во всех примерах создают в стеке
говори на русском языке, многи вопросы сами посебе отпадут.

Цитата
You can copy a palette using the copy constructor and test to see if two palettes are identical using isCopyOf().
QPalette is optimized by the use of implicit sharing, so it is very efficient to pass QPalette objects as arguments.
Гость Дата 15.5.2009, 23:04
  Есть виджет и QPalette (просто в одной программе, никак не связаны) Виджет использую всю программу, палетку использую в setPalette( const QPalette & ) . setPalette в принципе может быть скопирована в виджет виде ссылки или может быть скопировано ее значение. Ассистант ясности не вносит. Вдруг она содержит хендлы виндусовые и дублирование не желательно. Не ясно нужно ли держать ее дальше или можно разрушить. Решил обьявить статик. Но имею сомнения, если подклется к какомуто обьеку то может деструктироватся 2 раза - первый раз от владельца, второй раз как статический обьект.

Отладчик выдает сообщение при завершении Free Heap block 3da8b8 modified at 3da940 after it was freed если виджет сделать новым сообщение пропадает.

А апликэцию во всех примерах создают в стеке
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 7.7.2020, 6:10