Свободный ASN.1 общего назначения Декодируют/Выводят/Осматривают программу, существуют?

У виджета может быть только один родитель, и он был нарисован в окне, принадлежащем родителю, поэтому ответ на ваш прямой вопрос заключается в том, что он не может. Но я думаю, что в фоновом режиме вы хотите, чтобы несколько представлений совместно использовали одни и те же данные и были синхронизированы, если это так, решение состоит в том, чтобы использовать прокси, чтобы несколько моделей всегда совместно использовали одни и те же данные.

В случае QListWidget вы не можете установить модель, но она будет использоваться в качестве базы, а копии виджетов будут QListView.

from PyQt5 import QtCore, QtWidgets

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        mdiarea = QtWidgets.QMdiArea()
        self.setCentralWidget(mdiarea)

        list_widget = QtWidgets.QListWidget()
        for i in range(10):
            it = QtWidgets.QListWidgetItem('item {}'.format(i))
            it.setFlags(it.flags() | QtCore.Qt.ItemIsEditable)
            list_widget.addItem(it)

        sub_window = QtWidgets.QMdiSubWindow()
        sub_window.setWidget(list_widget)
        mdiarea.addSubWindow(sub_window)

        for _ in range(4):
            list_view = self.create_qlistview(list_widget.model())
            sub_window = QtWidgets.QMdiSubWindow()
            sub_window.setWidget(list_view)
            mdiarea.addSubWindow(sub_window)

    def create_qlistview(self, model):
        proxy = QtCore.QIdentityProxyModel()
        proxy.setSourceModel(model)
        list_view = QtWidgets.QListView()
        list_view.setModel(proxy)
        return list_view

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec())
6
задан Tyler Gillies 28 March 2011 в 09:20
поделиться

3 ответа

Я также использовал dumpasn1 с хорошим успехом в течение нескольких лет), затем я решил, что смотреть на вложенные теги длиной 200 строк было немного сложно следить на экране и хотел чего-то более динамичного, чтобы я мог сворачивать части дерева и тому подобное.

Это то, что я пытаюсь создать с помощью моего собственного asn1js клиентского JavaScript-декодера ASN.1. Он также имеет открытый исходный код и использует огромный файл конфигурации «известных OID» dumpasn1. Не пытается обнаружить все ошибки формата ASN.1, только те, которые невозможно декодировать ... (например, не потрудится отличить DER от BER, например INTEGER с дополнительными ведущими нулями)

Ага, это - это бессовестная самореклама, но я надеюсь, что вы найдете это программное обеспечение полезным в связи с проблемой, возникшей в вашем вопросе. ; -)

11
ответ дан 8 December 2019 в 13:49
поделиться

Мой любимый инструмент для просмотра ASN.1 - это Peteras Gutmann's dumpasn1 . Только для командной строки, но очень гибкий и дает диагностику в случае ошибок.

4
ответ дан 8 December 2019 в 13:49
поделиться

Эта утилита просмотра бесплатна и выглядит довольно неплохо.

http://lipingshare.com/Asn1Editor/

2
ответ дан 8 December 2019 в 13:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: