crossplatform.ru

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

> Пропадают иконки в таблице., После разворачивания из трея.
RazrFalcon
  опции профиля:
сообщение 25.2.2011, 19:14
Сообщение #1


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Что бы было понятней, прога листает обои рабстола.
В трее висит прога, которую по ПКМ на значке можно развернуть и там будет таблица.
1-й столбец - иконки, 2-й - текст.
Раз в 10 мин, по таймеру, сменяется позиция в таблице. Была к примеру 10, стала 300-я. И соответственно пролистало таблицу до этого элемента.
Все хорошо. Но есть баг.
Если клацнуть по иконке, то смениться положение в таблице в этот же момент, не взирая на таймер.
Вот если так клацнуть, а потом через любое время развернуть из трея, то все иконки от начала, до той строки, на которую сместилось при клике - исчезают. И никак не появляются. Только перезапуск программы.
Бывает и с конца начинает удалять.
Не знаю что приложить. Вот скрин, если нужен код, то какой части, там строк ~400.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
RazrFalcon
  опции профиля:
сообщение 17.3.2011, 22:50
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

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




Репутация:   212  


Сам запутался и людей запутал :lol:
Решил пойти по пути наименьшего сопротивления.
Сделал QList<QLabel *>, каждому присвоил иконку. Затем их впихнул в 1-й столбец. Сделал обработчик нажатия, ака cellClicked(int,int).
Потом в самом слоте смотрим: если нажато по 1-у столбцу - удаляем строку, если не по первому - ничего не делаем.
Функции нужные выполняет.
Но теперь QLabel пропадает :blink:

>>которая половина? какая закономерность?
не ровно половина, но где то посредине, обычно. Я бы сказал что один раз пропадает, к примеру, верхняя, то во второй пропадет нижняя, вот так по переменно. Если долго клацать - пропадают все.
Главное: пропадает только когда свернуто в трей.

Так как сейчас обрабатывается нажатие на таблицу, а не кнопку, то после клика по "пустому месту", где должна быть иконка, снова появляются все иконки.

Обработчик трея.
Раскрывающийся текст
void WallWindow::iconActivated(QSystemTrayIcon::ActivationReason reason)
{
    if (reason==3 || reason==2)
        set_image();
}

int WallWindow::set_image()
{
    if (row_num!=0)
    {
        number=row_num;
        order_comboBox_currentIndexChanged("Linear");
    }
    else number=rand_numbers.first();

    if (order_comboBox->currentText()=="Linear" && row_num==0)
    {
        number=linear_list.first();
        qDebug()<<"Set image:"<<allFiles.at(number).absoluteFilePath();
        processStart("/desktop/gnome/background/picture_filename",
                     allFiles.at(number).absoluteFilePath());
        linear_list.removeFirst();
    }
    else
    {
        qDebug()<<"Set image:"<<allFiles.at(number).absoluteFilePath();
        processStart("/desktop/gnome/background/picture_filename",
                     allFiles.at(number).absoluteFilePath());
        if (row_num==0) rand_numbers.removeFirst();
    }

    tableWidget->scrollToItem(tableWidget->item(number,1),QAbstractItemView::PositionAtTop);
    tableWidget->horizontalScrollBar()->setValue(0);
    trayIcon->setToolTip("Now: "+allFiles.at(number).fileName());
    if (rand_numbers.count()==0) rand_numbers=create_randlist();
    if (linear_list.count()==0) create_randlist();

    row_num=0;
    return 0;
}


Сообщение отредактировал RazrFalcon - 17.3.2011, 22:52
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- RazrFalcon   Пропадают иконки в таблице.   25.2.2011, 19:14
- - Litkevich Yuriy   модель для таблицы самописанная?   25.2.2011, 20:01
- - RazrFalcon   for(int i=0; i<allFiles.count(); i...   25.2.2011, 21:04
- - Rocky   Где и как создается и удаляется delicon?   26.2.2011, 12:20
- - RazrFalcon   .h#include <QToolButton> //... class But...   26.2.2011, 15:49
- - Rocky   Хм.... щас туго соображать, но имхо тут по-любому ...   27.2.2011, 0:10
- - RazrFalcon   Не помогло =/ Что значит сигналы, ловяться? Прогн...   27.2.2011, 2:47
- - RazrFalcon   Нашел причину. tableWidget->scrollToItem(t...   17.3.2011, 16:24
- - abc   ну вот я потрогал QTableWidget, поначалу получил н...   17.3.2011, 16:51
|- - RazrFalcon   Цитата(abc @ 17.3.2011, 15:51) по умолчан...   17.3.2011, 18:08
- - abc   я только к тому говорю, что баги нет, если QTableW...   17.3.2011, 21:27
- - RazrFalcon   QList - уже На счет checkBox - сделаю. Это же н...   17.3.2011, 21:35
- - abc   имею в виду, чтоб подзасунуть в одну ячейку пустой...   17.3.2011, 21:40
- - RazrFalcon   >>что за цикл в digitClicked()? после удален...   17.3.2011, 21:48
- - abc   так ведь ты не удаляешь из removeButtons[i] кнопку...   17.3.2011, 21:50
|- - RazrFalcon   Цитата(abc @ 17.3.2011, 20:50) так ведь т...   17.3.2011, 21:59
- - abc   я не понимаю твоё описание, по пунктам опиши дейст...   17.3.2011, 22:14
|- - RazrFalcon   Цитата(abc @ 17.3.2011, 21:14) я не поним...   17.3.2011, 22:28
- - abc   Цитата(RazrFalcon @ 17.3.2011, 22:28) По ...   17.3.2011, 22:35
- - RazrFalcon   Сам запутался и людей запутал Решил пойти по пу...   17.3.2011, 22:50
- - Rocky   Тут думаю поможет декомпозиция + фикс кармы)   17.3.2011, 22:51
- - abc   Цитата(RazrFalcon @ 17.3.2011, 22:50) Сде...   17.3.2011, 22:54
|- - RazrFalcon   Цитата(abc @ 17.3.2011, 21:54) по поводу ...   17.3.2011, 23:08
- - abc   "не ровно половина, но где то посредине, обыч...   17.3.2011, 23:49
- - RazrFalcon   QTableWidgetItem* Item = new QTableWidgetItem...   18.3.2011, 23:51
- - abc   блин, выложи архив проекта, я не могу с этим жить)   19.3.2011, 0:55
- - RazrFalcon   Вот, это старый вариант, я уже переписал, что бы р...   19.3.2011, 1:04


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


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




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