def gui_layout(self): main_layout = QHBoxLayout() layout1 = QVBoxLayout() right_layout = QHBoxLayout() toolbox = ToolBox() layout1.addWidget(toolbox) layout1.addWidget(Color('pink')) layout1.addWidget(Color('blue')) main_layout.setContentsMargins(0, 0, 0, 0) main_layout.setSpacing(0) main_layout.addLayout(layout1) table = TabWidget() main_layout.addWidget(table) right_layout.addWidget(self.right_up_text_edit()) right_layout.addWidget(self.right_down_text_edit()) main_layout.addLayout(right_layout) widget = QWidget() widget.setLayout(main_layout) self.setCentralWidget(widget)
def __init__(self, parent=None): """Initialize Window with basic properties.""" super(Window, self).__init__(parent) self.setWindowTitle(project_name) self.setWindowIcon(QIcon('logo.png')) self.statusBar().showMessage('') menu = self.menuBar() # File menu file_menu = menu.addMenu('&File') menus = [ ('&New query', 'Ctrl+N', self.open_new_tab, False), ('&Save query', 'Ctrl+S', self.save_query_to_file, False), ('&Open query', 'Ctrl+O', self.open_query_from_file, False), ] for cmd_name, shortcut, connected_func, separator in menus: action = QAction(cmd_name, self) if shortcut: action.setShortcut(shortcut) action.triggered.connect(connected_func) file_menu.addAction(action) if separator: file_menu.addSeparator() # TOC menu toc_menu = menu.addMenu('&Schemas') toc_hide_action = QAction('&Hide/show panel', self) toc_hide_action.setShortcuts(QKeySequence('F1')) toc_hide_action.triggered.connect(self._do_toc_hide_show) toc_expand_action = QAction('&Expand all', self) toc_expand_action.triggered.connect(self.toc_expand_all) toc_collapse_action = QAction('&Collapse all', self) toc_collapse_action.triggered.connect(self.toc_collapse_all) toc_menu.addAction(toc_hide_action) toc_menu.addAction(toc_expand_action) toc_menu.addAction(toc_collapse_action) # Result menu result_menu = menu.addMenu('&Result') result_export_menu = result_menu.addMenu('Export to') result_export_menu.setToolTipsVisible(True) export_action_qgis = result_export_menu.addAction('&QGIS') export_action_qgis.setToolTip( 'Get plain WKT to use with the QuickWKT plugin') export_action_arc = result_export_menu.addAction('&ArcMap') export_action_arc.setToolTip( 'Get arcpy code to create in_memory layer') export_action_df = result_export_menu.addAction('&DataFrame') export_action_df.setToolTip( 'Get Python code to create a pandas df using a temp csv file') export_action_md = result_export_menu.addAction('&Markdown') export_action_md.setToolTip('Get table formatted in Markdown') option = None export_action_qgis.triggered.connect( lambda evt, arg=option: self.export_result( evt, export_action_qgis.text())) export_action_arc.triggered.connect( lambda evt, arg=option: self.export_result( evt, export_action_arc.text())) export_action_df.triggered.connect( lambda evt, arg=option: self.export_result( evt, export_action_df.text())) export_action_md.triggered.connect( lambda evt, arg=option: self.export_result( evt, export_action_md.text())) settings_menu = menu.addMenu('&Settings') settings_menu.setToolTipsVisible(True) self.do_include_geometry = QAction( 'Include geometry column in query result set', self, checkable=True) self.do_include_geometry.setToolTip( """Will include WKT representation of geometry column in the result table""") settings_menu.addAction(self.do_include_geometry) self.do_include_geometry.setChecked(True) self.tab_widget = TabWidget() self.setCentralWidget(self.tab_widget) self.setGeometry(100, 100, 1000, 900) self.show() self.export_result_window = None return
from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QLabel, QVBoxLayout, QTextEdit, QAction from tab_widget import TabWidget class TextEdit(QTextEdit): def __init__(self, i,parent=None): super(TextEdit, self).__init__(parent) action = QAction('test', self) action.setShortcut('ctrl+d') action.setShortcutContext(Qt.WidgetWithChildrenShortcut) action.triggered.connect(lambda : print('test', i)) self.addAction(action) if __name__ == '__main__': import sys app = QApplication(sys.argv) tab_widget = TabWidget() tab_widget.addTab(TextEdit(1), 'Onglet Test 1') tab_widget.addTab(TextEdit(2), 'Onglet Test 2') tab_widget.addTab(TextEdit(3), 'Onglet Test 3') tab_widget.show() app.exec_()
def initUI(self): self.tab_w = TabWidget(self) self.setCentralWidget(self.tab_w) self.show()
def initUI(self): self.tab_w = TabWidget(self) self.setCentralWidget(self.tab_w) self.setGeometry(0, 0, 1000, 1000) self.show()