def main(): app = QApplication(sys.argv) codeeditor = CodeEditor() codeeditor.setWindowTitle(app.tr("Code editor example")) codeeditor.show() return app.exec_()
# Create editor instance e = CodeEditor(highlightCurrentLine = True, longLineIndicatorPosition = 20, showIndentationGuides = True, showWhitespace = True, showLineEndings = True, wrap = True, showLineNumbers = True) QtWidgets.QShortcut(QtGui.QKeySequence("F1"), e).activated.connect(e.autocompleteShow) QtWidgets.QShortcut(QtGui.QKeySequence("F2"), e).activated.connect(e.autocompleteCancel) QtWidgets.QShortcut(QtGui.QKeySequence("F3"), e).activated.connect(lambda: e.calltipShow(0, 'test(foo, bar)')) QtWidgets.QShortcut(QtGui.QKeySequence("Shift+Tab"), e).activated.connect(e.dedentSelection) # Shift + Tab #TODO: somehow these shortcuts don't work in this test-app, but they do in # pyzo. May have something to do with overriding slots of Qt-native objects? QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+C"), e).activated.connect(e.copy) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+X"), e).activated.connect(e.cut) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+V"), e).activated.connect(e.paste) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Shift+V"), e).activated.connect(e.pasteAndSelect) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Z"), e).activated.connect(e.undo) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Y"), e).activated.connect(e.redo) e.setPlainText("foo(bar)\nfor bar in range(5):\n print bar\n" + "\nclass aap:\n def monkey(self):\n pass\n\n") # Run application e.show() s=QtWidgets.QSplitter() s.addWidget(e) s.addWidget(QtWidgets.QLabel('test')) s.show() app.exec_()
QtGui.QKeySequence("F3"), e).activated.connect(lambda: e.calltipShow(0, "test(foo, bar)")) QtWidgets.QShortcut(QtGui.QKeySequence("Shift+Tab"), e).activated.connect(e.dedentSelection) # Shift + Tab # TODO: somehow these shortcuts don't work in this test-app, but they do in # pyzo. May have something to do with overriding slots of Qt-native objects? QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+C"), e).activated.connect(e.copy) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+X"), e).activated.connect(e.cut) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+V"), e).activated.connect(e.paste) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Shift+V"), e).activated.connect(e.pasteAndSelect) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Z"), e).activated.connect(e.undo) QtWidgets.QShortcut(QtGui.QKeySequence("Ctrl+Y"), e).activated.connect(e.redo) e.setPlainText("foo(bar)\nfor bar in range(5):\n print bar\n" + "\nclass aap:\n def monkey(self):\n pass\n\n") # Run application e.show() s = QtWidgets.QSplitter() s.addWidget(e) s.addWidget(QtWidgets.QLabel("test")) s.show() app.exec_()
## ## ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ## OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ## DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ## THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ## (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ## ## $QT_END_LICENSE$ ## ############################################################################# import sys from PySide6.QtWidgets import QApplication from codeeditor import CodeEditor """PySide6 port of the widgets/codeeditor example from Qt5""" if __name__ == "__main__": app = QApplication([]) editor = CodeEditor() editor.setWindowTitle("Code Editor Example") editor.show() sys.exit(app.exec_())