repleditor.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:qturtle 作者: Transpyler 项目源码 文件源码
def __init__(self,
                 transpyler,
                 parent=None, *,
                 theme='dark',
                 header_text=None,
                 hide_console_margins=False):
        assert transpyler
        super().__init__(parent=parent, theme=theme)
        self._transpyler = transpyler
        self._header_text = header_text
        self._hide_console_margins = hide_console_margins
        self._console = self._createConsoleApp()
        self._editor = self._createEditorApp()
        self._editor.setConsole(self._console)

        # Create buttons
        run_button = QtWidgets.QPushButton('Run')
        hideup_button = QtWidgets.QPushButton('\u25b2')
        hidedown_button = QtWidgets.QPushButton('\u25bc')
        run_button.setMaximumWidth(100)
        hideup_button.setFixedWidth(35)
        hidedown_button.setFixedWidth(35)
        buttons = QtWidgets.QWidget()
        button_area = QtWidgets.QHBoxLayout(buttons)
        button_area.addWidget(hideup_button, 20)
        button_area.addWidget(hidedown_button, 20)
        button_area.addStretch(300)
        button_area.addWidget(run_button, 200)
        button_area.setContentsMargins(0, 0, 0, 0)
        buttons.setFixedHeight(25)

        # Connect signals
        run_button.clicked.connect(self.runCode)
        hideup_button.clicked.connect(self.hideUp)
        hidedown_button.clicked.connect(self.hideDown)

        # Create top area with the Editor and the button area element
        top_widget = QtWidgets.QWidget()
        top_layout = QtWidgets.QVBoxLayout(top_widget)
        top_layout.setContentsMargins(0, 0, 0, 0)
        top_layout.addWidget(self._editor.widget())
        top_layout.addWidget(buttons)
        self._top_widget = top_widget

        # Add elements
        layout = QtWidgets.QVBoxLayout(self)
        layout.setContentsMargins(0, 0, 0, 0)
        splitter = QtWidgets.QSplitter(QtCore.Qt.Orientation(0))
        splitter.addWidget(top_widget)
        splitter.addWidget(self._console.widget())
        splitter.setSizes([200, 120])
        splitter.setChildrenCollapsible(False)
        layout.addWidget(splitter)
        self._splitter = splitter
        self._splitter_sizes = splitter.sizes()

        # Size hints
        self.setMinimumSize(QtCore.QSize(100, 200))

        # Set theme
        self.setTheme(self.theme())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号