Как стать автором
Обновить
72
0.2

Пользователь

Отправить сообщение
Судя по документации, дисплей разрабатывался как прямая замена популярного венгерского дисплея «Видеотон-340» в компьютерах типа М-400 или БЭСМ-6.

Видеотон-340, можно сказать, знаменитый монитор (который, к сожалению, пока не удалось раздобыть, и если у кого-нибудь такой есть, дайте знать). Это тот самый монитор, который стоит на столе у Калугиной в фильме «Служебный роман».

Сергей, а вы не застали векторные мониторы в комп.зале в здании на Гастелло? Похож на этот, но зеленый люминофор и позиции символов были отмечены точками. Было прикольно, символы жили своей жизнью, дрожали, скакали вверх-вниз.
Интересный вопрос. В C++ я чаще работаю с QTableView, поэтому вводимое значение ловлю на setData модели. В одном месте у меня есть QTableWidget, но там используется свой делегат, т.к. данные сложные и редактор неоднозначный. В принципе, можно у дефолтного делегата взять сигнал commitData. А можно у QTableWidget переопределить виртуальные слоты edit и commitData — в первом запоминать редактируемую позицию, а во втором получать значение поля.
Пример:
#!/usr/bin/python3
# -*- coding: utf-8 -*-

import sys
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class Table(QTableWidget):
    def __init__(self, rows, columns, parent = None):
        super().__init__(rows, columns, parent)
        self.editIndex = QModelIndex()

    def edit(self, index, trigger, event):
        self.editIndex = index
        return super().edit(index, trigger, event)

    def commitData(self, editor):
        print("Commit r: %s, c: %s" % (self.editIndex.row(), self.editIndex.column()))
        print("Old value:", self.editIndex.data())
        super().commitData(editor)
        print("New value:", self.editIndex.data())
        
app = QApplication(sys.argv)
w = Table(12, 2)
for r in range(0,12):
    i = QTableWidgetItem(str(r))
    w.setItem(r, 0, i)
    i = QTableWidgetItem("Item %s" % str(r))
    w.setItem(r, 1, i)
w.show()
sys.exit(app.exec_())
Ответ был мне?
поэтому если кто-то говорит что он работает в среде виндос и не использует его, то…
это можно объяснить только порогом вхождения.

Сейчас это Windows (на рабочих станциях). На пред-пред работе был Unix. Нет гарантии, что на следующей работе не будет чего-то еще. И это не считая виртуалок и серверов.
А WPF это самый простой способ создания оконных приложений из ныне существующих.

Есть такая поговорка «Самая короткая дорога — это та, которую вы знаете». Если вы знаете WPF — это прекрасно.

WPF был бы хорошим выбором при сочетании условий:
— если бы я его знал, хотя бы настолько же, насколько знаю Qt
— если бы студия была моим рабочим инструментом
— если Win была бы единственной операционкой в окружении

Выбор сочетания Python+PyQt в моем случае определялся низким порогом входа. В вашем это может быть другой набор инструментов.
Для PyQt нужен интерпретатор Python со своей стандартной библиотекой, сам PyQt и, вдобавок, прекомпилированные бинарники Qt. Установить всё это может быть не так уж просто, особенно если в системе нет нормального пакетного менеджера.

А вы попробуйте, узнаете, что это очень просто на большинстве систем. Для Windows инсталлятор Python качается с офф.сайта. В Linux он предустановлен, во FreeBCD ставится пакетом.
Чтобы поставить "сам PyQt и, вдобавок, прекомпилированные бинарники Qt", нужно лишь набрать команду, приведенную в статье
pip3 install pyqt5

Ваше приложение пока что слишком простое, чтобы заметить разницу.

Оно и должно оставаться простым. Зачем мне делать сложное, если достаточно простого?
В этом и есть главная фишка.

Да, Qt достаточно. И на нем вы сможете написать все тоже самое, и даже больше и лучше.
Но для чистого Qt нужен компилятор C++, желательно приличная среда (Qt Сreator очень хорош) и много времени на ожидание компиляции и отладку.

Но зачем ждать, если Python запускается сразу, как язык он гораздо лаконичней C++, а через PyQt можно пользоваться всей мощью Qt. И что самое вкусное — практически без потери производительности.
Здесь тот самый случай, когда формочку в дизайнере рисовать дольше, чем написать ее в коде.
12 ...
66

Информация

В рейтинге
2 538-й
Зарегистрирован
Активность