• Что такое асинхронный сокет?

    15432
    @15432
    Системный программист ^_^
    нет, эквивалентность многопоточности и асинхронного сокета отсутствует.

    попробую объяснить суть асинхронного сокета на простом примере.

    подходите вы к лотку купить минералки, а её нет, но продавщица сообщает, что скоро привезут.

    возможные варианты вашего ответа:
    1) "я подожду" - синхронный сокет, программа ожидает, пока не придёт сообщение.
    1.5) "долго не везут что-то, надоело ждать, ухожу" - синхронный сокет с таймаутом
    2) "ну ладно, я попозже загляну" - асинхронный сокет, программа не ждёт сообщения и занимается своими делами дальше
    2.5) "я вернулся, ну как, привезли? да? ну вот и отлично, забираю" - асинхронный сокет, очередная попытка приёма данных, на этот раз успешная
    3) "алё, Вован, я стою минералку жду, вернусь попозже, работай, не отвлекайся" - синхронный сокет + многопоточность. один поток ожидает приёма данных, другой поток работает
    3.5) "Вован, тут минералки ещё нет, ща вернусь" - многопоточность + асинхронные сокеты. несколько потоков работают одновременно, на приеме данных не блокируются
    Ответ написан
    2 комментария
  • Как получить данные в pyQT?

    mFoxRU
    @mFoxRU
    Обращаться стоит, несомненно, к QSortFilterProxyModel, так как QTreeView — это вьюшка, она не содержит в себе данные, а только отображает их. Данные можно получить через метод data().
    Ответ написан
    Комментировать
  • PyQt. Передача элементов из QListView1 в QListView2?

    mFoxRU
    @mFoxRU
    Можно сделать это через QSortFilterProxyModel:
    1. Реализовывается QAbstractListModel
    2. К ней цепляется два QSortFilterProxyModel
    3. К каждому из них цепляется свой QListView
    4. У данных в QAbstractListModel добавляется Qt.ItemDataRole, отвечающая за расположение в одном из списков
    5. У каждого из QSortFilterProxyModel задаётся фильтрация по значению созданной роли
    6. Нажатием кнопок < и > меняется значение у роли
    7. ???
    8. PROFIT!!
    Ответ написан
    Комментировать
  • Почему выдается ошибка в pyQt5?

    bobrovskyserg
    @bobrovskyserg
    Поскольку "invalid syntax", у вас инвэлид синтакс.
    Поскольку вставить отформатированный код в вопрос вы не смогли, указать, где конкретно ошибка - затруднительно.
    Исправьте это.
    У меня ваш _отформатированый_ код работает (Ubuntu).
    Ответ написан
    Комментировать