Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

xseven

  • 5
    вклад
  • 0
    вопросов
  • 20
    ответов
  • 15%
    решений
Комментарии
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Куда деваются объекты в std::vector??

    xseven @xseven
    Армянское Радио: Так держать. Каждому аппендиксу по скальпелю в умелых руках!
    Написано более трёх лет назад
  • Куда деваются объекты в std::vector??

    xseven @xseven
    Армянское Радио: Так и хочется увидеть ваш ответ начинающийся с фразы: "Нас часто спрашивают...."
    Написано более трёх лет назад
  • Как расположить элементы из ListModel(QML) в строго определенных местах?

    xseven @xseven
    Уже лучше давайте уточнять. Какая задача? (Там делаете игру мозайка или еще что) Какие сложности возникают сейчас и тд?
    Написано более трёх лет назад
  • Кто занимался информационной безопасностью?

    xseven @xseven
    Прокомментирую сам себя. Один из примеров например habrahabr.ru/users/milabs прочитайте его статьи это одно из направлений написания кода в ИБ. Сам автор работал в области ИБ.
    Написано более трёх лет назад
  • Возможно ли объявить двумерный массив на unique_ptr?

    xseven @xseven
    Ну, хозяин - барин
    Написано более трёх лет назад
  • Возможно ли объявить двумерный массив на unique_ptr?

    xseven @xseven
    Все равно не очень понимаю зачем двумерный массив чем не устраивает std::complex и std::polar? А перевести из декартовых координат обратно в полярные дело маленькое.
    Написано более трёх лет назад
  • Как в Qt скрыть виджет верхнего уровня, но чтобы при этом вложенный виджет (нижнего уровня) отображался?

    xseven @xseven
    Про FramelessWindowHint не сказал, т.к. судя по приведенной вами картинке он уже выставлен
    Написано более трёх лет назад
  • Какой метод указывает QWidget не исчезать после отображения методом show() ?

    xseven @xseven
    Плюсуюсь. Судя по симптомам диалог на стеке.
    Написано более трёх лет назад
  • Qt: QAbstractItemModel работает медленно, если я бросаю сигнал layoutChanged(). В чем проблема?

    xseven @xseven
    @Robotex Cудя по документации, подхода два: явно вызвать sort или переопределить lessThan
    Написано более трёх лет назад
  • Qt: QAbstractItemModel работает медленно, если я бросаю сигнал layoutChanged(). В чем проблема?

    xseven @xseven
    @Robotex
    - Да я так и понял, что QAbstractListModel
    - QSortFilterProxyModel должен быть один, вернее можно сколько угодно, только проиводительность будет падать резко
    - Да, можно:
    + Переопределите filterAcceptRow
    + Для задания выражения фильтрационного используйте setFilterRegExp()
    + Колонку по которой сортировать задайте в функции sort()
    Написано более трёх лет назад
  • Qt: QAbstractItemModel работает медленно, если я бросаю сигнал layoutChanged(). В чем проблема?

    xseven @xseven
    @Robotex
    Посмотрите пример для начала.
    Попробуйте внести небольшие изменения чтобы смоделировать нужное вам поведение.
    dataChanged имеет вроде два параметра только индекс начала диапазона данных которые изменились и индекс конца.
    По поводу ролей: я по максимуму использую DisplayRole. Иногда checkStateRole и др.
    С proxySort обычно удается обойтись переопределением acceptRows, но не очень понял вопрос.

    Понимаю, что времени всегда не хватает, но если не читали почитайте qt-project.org/doc/qt-4.8/model-view-programming.html

    Если хотите какой-то более конкретный ответ склонируйте мой тостер репозиторий внесите изменения, чтобы добиться требуемого поведения если не получается, то спрашивайте могу посмотреть, иначе слишком беспредметно, не видя кода.
    Иначе остается только гущу подогревать :)

    В общем случае ваша стратегия должна быть таковой что:
    -Разработать структуру данных которая будет максимально простой в добавлении удалении т.е. например QList внутри QList стоит избегать и т.д.
    -Отнаследоваться от необходимой абстрактной модели. Переопределить необходимые функции НЕ ДОБАВЛЯЯ новых не принадлежащих базовому классу (т.е. если в вашей модели есть ф-ция MySuperFunc то у вас что-то идет не так)
    -Отобразить (Переопределить вид если нужны сложные манипуляции drag/drop и т.д.)
    -Переопределить делегат если нужно сложное отображение
    -Добавить модель прослойку если нужно менять порядок(фильтровать и т.д.)

    Я бы шел в таком порядке, периодически проходя сначала и подправляя низлежащие элементы, если нужно.
    Написано более трёх лет назад
  • Qt: QAbstractItemModel работает медленно, если я бросаю сигнал layoutChanged(). В чем проблема?

    xseven @xseven
    @Robotex
    Лучше использовать индекс по умолчанию, т.е. не переопределять, до тех пор пока это действительно не надо.
    Индекс добавляется/удаляется при beginInsertRows/beginRemoveRows.
    Накидал небольшой пример как переопределить удалять/добавлять
    Можно использовать выделение по ctrl (разных элементов) и shift(элементов идущих подряд). Плюс прокомментировал некоторые места
    https://github.com/xseven/qa-toaster.git
    Проект abstractlist
    Написано более трёх лет назад
  • Как выбрать любое из массива QStringList, удовлетворяющее условиям?

    xseven @xseven
    @l2p Незачто. Про frameless отписал. Про qml, к сожалению, подсказать не могу.
    Написано более трёх лет назад
  • Как выбрать любое из массива QStringList, удовлетворяющее условиям?

    xseven @xseven
    @l2p Например так
    #include <QCoreApplication>
    #include <QString>
    #include <QStringList>
    #include <QDebug>
    #include <QTime>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        qsrand(QTime::currentTime().msec());
    
        QStringList cities = QStringList()<<QString("Dublin")<<QString("Wicklow")<<QString("Norwich")<<QString("Liverpool")<<QString("Corby")<<QString("Luton")<<QString("Listowel");
    
        QStringList matchCities;
    
        foreach(QString city, cities)
        {
            if(!city.isEmpty())
            {
                if(city.endsWith(city[0], Qt::CaseInsensitive))
                {
                    matchCities<<city;
                }
            }
        }
    
        int index = qrand()%matchCities.size();
        qDebug()<<matchCities[index];
    
        return a.exec();
    }
    Написано более трёх лет назад
  • Как выбрать любое из массива QStringList, удовлетворяющее условиям?

    xseven @xseven
    @l2p Теперь идея понятна
    #include <QCoreApplication>
    #include <QString>
    #include <QStringList>
    #include <QDebug>
    
    int main(int argc, char *argv[])
    {
        QCoreApplication a(argc, argv);
    
        QStringList cities = QStringList()<<QString("Dublin")<<QString("Norwich")<<QString("Liverpool")<<QString("Corby")<<QString("Luton");
    
        foreach(QString city, cities)
        {
            if(!city.isEmpty())
            {
                if(city.endsWith(city[0], Qt::CaseInsensitive))
                {
                    qDebug()<<city;
                }
            }
        }
    
        return a.exec();
    }
    Написано более трёх лет назад
  • Как выбрать любое из массива QStringList, удовлетворяющее условиям?

    xseven @xseven
    @l2p вы хоть скажите какую задачу решаете или дайте больше кода, а то непонятно. Если вы просто хотите сравнить два условия через функции last и first то filter не то что нужно, но если вы обрисуете задачу или покажете больше кода можно будет лучше понять в какую сторону смотреть
    Написано более трёх лет назад
  • Как выбрать любое из массива QStringList, удовлетворяющее условиям?

    xseven @xseven
    @l2p Лучше веськод полностью, что хотите сделать или идею. А то так несколько беспредметно получается
    Написано более трёх лет назад
  • QT Table Layout - его нету, как имитировать?

    xseven @xseven
    @dplsoft В любом случае QGraphicScene или какой либо из View, но не кнопки в layout
    Написано более трёх лет назад
  • QT Table Layout - его нету, как имитировать?

    xseven @xseven
    @dplsoft Я бы использовал QAnimation в делегате. На крайняк можно сделать собственный рисовальщик, но модельку бы оставил все равно.
    Написано более трёх лет назад
  • QT Table Layout - его нету, как имитировать?

    xseven @xseven
    @dplsoft Да, я накидал черновик на Qt в след комментарии. Вообще идея двигать кнопки немного пугает или их значения. Проще все же двигать данные модельки на мой взгляд.
    Написано более трёх лет назад
  • 1
  • 2
  • Следующие →
Самые активные сегодня
  • Dr. Bacon
    • 7 ответов
    • 0 вопросов
  • firedragon
    Владимир Коротенко
    • 6 ответов
    • 0 вопросов
  • dollar
    dollar
    • 6 ответов
    • 0 вопросов
  • rPman
    • 6 ответов
    • 0 вопросов
  • senku1435
    Daniil Igumenshev
    • 5 ответов
    • 1 вопрос
  • sergiks
    Сергей Соколов
    • 5 ответов
    • 1 вопрос
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации