crossplatform.ru

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

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
> Маркер в таблице..., Построчно выделять...
fortero
  опции профиля:
сообщение 2.5.2011, 22:01
Сообщение #21


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Кажеться победил:
void TableCl::keyPressEvent(QKeyEvent *pe){
    if ((pe->key() == 16777220) | (pe->key() == 16777221))
    {
    QList<QTableWidgetItem *>  *tList = new QList<QTableWidgetItem *>(mtab->selectedItems());
              if(!tList->empty())
    this->dubleClic_slot(tList->last()->row());
    delete tList;
    }
}


Silver47 покритекуйте, может что-то не так?

Сообщение отредактировал fortero - 2.5.2011, 22:15
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 4.5.2011, 21:00
Сообщение #22


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


1) волшебные цифры лучше заменить на мнемоники (Qt::Key_Return и Qt::Key_Enter)
2) new, по моему, тут не нужен (вернее, можно без кучи обойтись):
QList<QTableWidgetItem *>  tList(mtab->selectedItems());
if(!tList.empty())
{
    dubleClic_slot(tList.last()->row());
}


Сообщение отредактировал Алексей1153 - 4.5.2011, 21:01
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 5.5.2011, 1:08
Сообщение #23


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 4.5.2011, 21:00) *
1) волшебные цифры лучше заменить на мнемоники (Qt::Key_Return и Qt::Key_Enter)
2) new, по моему, тут не нужен (вернее, можно без кучи обойтись):
QList<QTableWidgetItem *>  tList(mtab->selectedItems());
if(!tList.empty())
{
    dubleClic_slot(tList.last()->row());
}


А если можно поподробней о new, просто у меня не совсем ещё сформировалось понимание когда он нужен а когда нет?
Почему Вы считаете что тут он не нужен прокаментируйте пожалуйста.
Спасибо за внимание!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 5.5.2011, 20:42
Сообщение #24


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


об операторе new подробнее, чем любая книжка по C++ я рассказать не сумею. Если коротко - это работа с кучей, new выделяет память из кучи под переменную, delete возвращает. Автоматически вызываются конструктор и деструктор соответственно

В данном случае наличие new/delete совершенно необязательно, так как автоматическая локальная переменная выполнит всё то же самое. Но если хочется, можно оставить и так, как у тебя ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fortero
  опции профиля:
сообщение 6.5.2011, 3:43
Сообщение #25


Участник
**

Группа: Участник
Сообщений: 132
Регистрация: 4.12.2010
Пользователь №: 2242

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Алексей1153 @ 5.5.2011, 20:42) *
об операторе new подробнее, чем любая книжка по C++ я рассказать не сумею. Если коротко - это работа с кучей, new выделяет память из кучи под переменную, delete возвращает. Автоматически вызываются конструктор и деструктор соответственно

В данном случае наличие new/delete совершенно необязательно, так как автоматическая локальная переменная выполнит всё то же самое. Но если хочется, можно оставить и так, как у тебя ))


В каких случаях Куча актуальна будет?
Я не совсем чувствую грань когда следует в QT пользоватся динамической памятью а когда нет...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 6.5.2011, 19:20
Сообщение #26


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(fortero @ 6.5.2011, 6:43) *
Я не совсем чувствую грань когда следует в QT пользоватся динамической памятью а когда нет...

речь не про Qt, а про C++ , кстати


Цитата(fortero @ 6.5.2011, 6:43) *
В каких случаях Куча актуальна будет?


например, если бы был массив большого размера. Локальные переменный размещаются на стеке, а стек имеет ограниченный размер. Если стек переполнен, то программа в лучшем случае просто аварийно завершится.
Также, для массивов с изменяемым размером. Контейнеры Qt и STL тоже внутри себя используют кучу для хранения данных. По последней причине, кстати, контейнеры можно спокойно использовать как локальные переменные, так как, по сути, "локальное" тело переменной - несколько указателей и счётчиков количества элементов. А данные лежат на куче
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 13:24