def __init__(self, primarytable=QTableWidget(), headername="Test", numberofcolumn=1): QTableWidget.__init__(self) self.table = primarytable self.table.setColumnCount(numberofcolumn) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.table.setHorizontalScrollMode(QAbstractItemView.ScrollPerPixel) self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded) self.column0 = QTableWidgetItem(headername) self.column0.setTextAlignment(Qt.AlignCenter) self.table.setHorizontalHeaderItem(0, self.column0) self.tableHeader = TableWidgetNoSelection() self.column1 = QTableWidgetItem(headername) self.column1.setTextAlignment(Qt.AlignCenter) self.tableHeader.setColumnCount(numberofcolumn) self.tableHeader.setHorizontalHeaderItem(0, self.column1) self.tableHeader.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.tableHeader.setHorizontalScrollMode( QAbstractItemView.ScrollPerPixel) self.tableHeader.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.tableHeader.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.tableHeader.horizontalHeader().setHighlightSections(False) self.tableLayout = QGridLayout(self) self.tableLayout.addWidget(self.table, 0, 0, -1, 1) self.tableLayout.addWidget(self.tableHeader, 0, 0, -1, 1) self.tableLayout.setContentsMargins(0, 0, 0, 0) self.tableLayout.setSpacing(0)
def CheckApi(self): j = "https://api.shodan.io/api-info?key=" + self.API response = requests.get(j) response = response.json() query_credits = '' plan = '' scan_credits = '' for i in response: if i == "query_credits": query_credits = response[i] if i == "plan": plan = response[i] if i == "scan_credits": scan_credits = response[i] self.tableWidgetSmall = QTableWidget(self) self.tableWidgetSmall.setColumnCount(1) self.tableWidgetSmall.setRowCount(3) self.tableWidgetSmall.move(1074, 217) self.tableWidgetSmall.setMinimumHeight(115) self.tableWidgetSmall.setMinimumWidth(180) self.tableWidgetSmall.setMaximumHeight(115) self.tableWidgetSmall.setMaximumWidth(180) self.tableWidgetSmall.setVerticalHeaderLabels( ["Plan", "query_credits", "scan_credits"]) self.tableWidgetSmall.setItem(0, 0, QTableWidgetItem(plan)) self.tableWidgetSmall.setItem(0, 1, QTableWidgetItem(str(query_credits))) self.tableWidgetSmall.setItem(0, 2, QTableWidgetItem(str(scan_credits)))
def __init__(self, parent, name, data): QWidget.__init__(self, parent) DockContextHandler.__init__(self, self, name) self.parent = parent self.arch = None self.current_state = None self.symb_idx = 0 self.reg_to_index = dict() self.index_to_reg = dict() self.reg_cache = dict() self.data = data self.tab_name = None self.actionHandler = UIActionHandler() self.actionHandler.setupActionHandler(self) self._layout = QVBoxLayout() # Set up register table self._table = QTableWidget() self._table.setColumnCount(2) self._table.setHorizontalHeaderLabels(['Register', 'Value']) self._table.horizontalHeader().setStretchLastSection(True) self._table.verticalHeader().setVisible(False) self._table.setContextMenuPolicy(Qt.CustomContextMenu) self._table.customContextMenuRequested.connect( self.on_customContextMenuRequested) self._table.doubleClicked.connect(self.on_doubleClick) self._layout.addWidget(self._table) self.setLayout(self._layout)
def __init__(self, parent=None): super().__init__(parent, 'synthetic curve') self.gen_curve: Optional[WdGeneratedValues] = None self.segments_edit_semaphore = Lock() layout = QVBoxLayout() group_segments = QGroupBox('Segments') layout_segments = QVBoxLayout() layout_segments_hdr = QHBoxLayout() layout_segments_hdr_labels = QVBoxLayout() layout_segments_hdr_labels.addWidget( QLabel('Segments are calculated in parallel')) layout_segments_hdr_labels.addWidget( QLabel('and may have different density (PHIN)')) layout_segments_hdr.addLayout(layout_segments_hdr_labels) layout_segments_hdr.addStretch() self.add_segment_button = QToolButton() self.add_segment_button.setText('+') self.del_segment_button = QToolButton() self.del_segment_button.setText('-') layout_segments_hdr.addWidget(self.add_segment_button) layout_segments_hdr.addWidget(self.del_segment_button) layout_segments.addLayout(layout_segments_hdr) self.table_segments = QTableWidget(1, 3) self.table_segments.setHorizontalHeaderLabels( ['phase from', 'phase to', 'PHIN phase incr']) layout_segments.addWidget(self.table_segments) group_segments.setLayout(layout_segments) layout.addWidget(group_segments) self.setLayout(layout) self.table_segments.itemActivated.connect(self._on_segment_activated) self.table_segments.itemChanged.connect(self._on_segment_item_changed) self.add_segment_button.clicked.connect(self._on_segment_add_clicked) self.del_segment_button.clicked.connect(self._on_segment_del_clicked)
def __init__(self, node): super().__init__() self.node: NetworkNode = node self.delete_popup = None self.layout = QGridLayout() self.table = QTableWidget(0, 3) self.table.setHorizontalHeaderLabels(['Id', 'Key', 'Value']) self.table.setColumnHidden(0, True) self.node.configuration.configuration_changed.connect( self.handle_configuration_change ) self.table.cellChanged.connect(self.handle_cell_change) self.layout.addWidget(self.table, 0, 0, 1, 2) self.deleteButton = QPushButton('Remove Selected Row') self.deleteButton.clicked.connect( self.handle_delete_action ) self.layout.addWidget(self.deleteButton, 1, 0) self.addButton = QPushButton('Add Configuration') self.addButton.clicked.connect( self.handle_add_action ) self.layout.addWidget(self.addButton, 1, 1) self.setLayout(self.layout)
def __init__(self, columns, parent=None, callback=None): super().__init__(parent) self.callback = callback self.table = QTableWidget(0, len(columns), self) self.columns = columns self.table.setMinimumSize(400, 300) self.table.setShowGrid(True) self.hh = self.table.horizontalHeader() self.hh.setStretchLastSection(False) self.vh = self.table.verticalHeader() layout = QBoxLayout( QBoxLayout.Direction(QBoxLayout.LeftToRight | QBoxLayout.TopToBottom), self) layout.addWidget(self.table) self.setLayout(layout) # self.setSizePolicy(QSizePolicy(QSizePolicy.Maximum, QSizePolicy.Maximum, QSizePolicy.DefaultType)) self.callback = callback if self.callback: #self.table.cellEntered.connect(self.enterProcessor) #self.vh.activated.connect(self.enterProcessor) #self.vh.selected.connect(self.enterProcessor) #self.table.clicked.connect(self.enterProcessor) self.table.itemSelectionChanged.connect(self.enterProcessor)
def __init__(self, parent): super().__init__(parent) self.setWindowTitle("Select position parameters") button_box = QDialogButtonBox(self) button_box.setStandardButtons(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) layout = QVBoxLayout(self) self._table_widget = QTableWidget(1, 2, self) self._table_widget.setHorizontalHeaderLabels( ["Position x", "Position y"]) self._table_widget.setItem(0, 0, QTableWidgetItem(parent._pos_x_parameter)) self._table_widget.setItem(0, 1, QTableWidgetItem(parent._pos_y_parameter)) self._table_widget.horizontalHeader().setStretchLastSection(True) self._table_widget.verticalHeader().hide() self._table_widget.verticalHeader().setDefaultSectionSize( parent.default_row_height) self._delegate = ParameterNameDelegate(self, parent.db_mngr, *parent.db_maps) self._table_widget.setItemDelegate(self._delegate) layout.addWidget(self._table_widget) layout.addWidget(button_box) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject)
def __init__(self): QWidget.__init__(self) self.setWindowTitle('SQL Client') self.setMinimumSize(600, 400) self.main_layout = QVBoxLayout() self.setLayout(self.main_layout) self.buttons_panel = ButtonsPanel() self.main_layout.addWidget(self.buttons_panel) self.notification_panel = QTextEdit() self.main_layout.addWidget(self.notification_panel) self.result_table = QTableWidget() self.result_table.setShowGrid(True) self.result_table = QTableWidget(5, 3) self.result_table.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.main_layout.addWidget(self.result_table) self.configuration_dialog = part_2.ConfigurationDialog() self.show() self.configuration_dialog.show()
def __init__(self): super().__init__() self.id = 1 self.TASKID = 0 self.FILENAME = 1 self.PROGRESSBAR = 2 self.SPEED = 3 self.STATUS = 4 self.URL = 5 self.FILEPATH = 6 self.CANCEL = 7 self.RETRY = 8 self.DELETE = 9 self.signals = FileDownloaderSignals() self.tableWidget = QTableWidget() self.startDownloadButton = QPushButton('Start Download') self.clearListButton = QPushButton('Clear Download List') self.hideFinishedCheckBox = QCheckBox('Hide Finished') self.startDownloadButton.clicked.connect(self.startDownload) self.clearListButton.clicked.connect(self.clearDownloadList) self.hideFinishedCheckBox.clicked.connect(self.hideFinished) self.createTable() layout = QGridLayout() layout.addWidget(self.tableWidget, 0, 0, 1, 2) layout.addWidget(self.hideFinishedCheckBox, 1, 0, 1, 1) layout.addWidget(self.startDownloadButton, 2, 0, 1, 1) layout.addWidget(self.clearListButton, 2, 1, 1, 1) layout.setMargin(0) self.setLayout(layout) self.resize(1920, 1080)
def clean(self): self.layout.removeWidget(self.tableWidget) self.tableWidget = QTableWidget(6, 3) self.tableWidget.setHorizontalHeaderLabels(["参数", "值", "单位"]) self.tableWidget.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.line = 0
def __init__(self, subtitleDict, index, styles, styleNameList): super().__init__() self.subtitleDict = subtitleDict self.index = index self.styles = styles self.resize(950, 800) self.setWindowTitle('检查字幕') layout = QGridLayout() self.setLayout(layout) layout.addWidget(QLabel('选择字幕轨道:'), 0, 0, 1, 1) layout.addWidget(QLabel(''), 0, 1, 1, 1) self.subCombox = QComboBox() self.subCombox.addItems(styleNameList) self.subCombox.setCurrentIndex(index) self.subCombox.currentIndexChanged.connect(self.selectChange) layout.addWidget(self.subCombox, 0, 2, 1, 1) self.subTable = QTableWidget() self.subTable.setSelectionBehavior(QAbstractItemView.SelectRows) self.subTable.doubleClicked.connect(self.clickTable) self.subTable.setEditTriggers(QAbstractItemView.NoEditTriggers) layout.addWidget(self.subTable, 1, 0, 6, 3) self.refresh = QPushButton('刷新') self.refresh.clicked.connect(self.refreshSub) layout.addWidget(self.refresh, 7, 0, 1, 1) self.cancel = QPushButton('确定') self.cancel.clicked.connect(self.hide) layout.addWidget(self.cancel, 7, 2, 1, 1) self.refreshTable()
def __init__(self, game_model: GameModel) -> None: super().__init__() self.game_model = game_model self.only_unallocated = False self.enemy_info = False layout = QVBoxLayout() self.setLayout(layout) checkbox_row = QHBoxLayout() layout.addLayout(checkbox_row) self.only_unallocated_cb = QCheckBox("Unallocated only") self.only_unallocated_cb.toggled.connect(self.set_only_unallocated) checkbox_row.addWidget(self.only_unallocated_cb) self.enemy_info_cb = QCheckBox("Show enemy info") self.enemy_info_cb.toggled.connect(self.set_enemy_info) checkbox_row.addWidget(self.enemy_info_cb) checkbox_row.addStretch() self.table = QTableWidget() layout.addWidget(self.table) self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) self.table.verticalHeader().setVisible(False) self.set_only_unallocated(False)
def __init__(self): super().__init__() self.setWindowTitle("The Carlton 2.0") self.setCentralWidget(QWidget()) grid = QGridLayout() self.centralWidget().setLayout(grid) self.start_date = None self.end_date = None grid.addWidget(QLabel("Calendar"), 0, 0) self.calendar_view = QTableWidget() grid.addWidget(self.calendar_view, 1, 0, 1, 4) self.start_button = QPushButton("Start Date") self.start_button.clicked.connect(lambda: self.get_date(True)) self.end_button = QPushButton("End Date") self.end_button.clicked.connect(lambda: self.get_date(False)) grid.addWidget(self.start_button, 0, 2) grid.addWidget(self.end_button, 0, 3) self.create_panels() toolbar = self.addToolBar("Toolbar") toolbar.addAction("New Show", self.create_new_show) self.shows = []
def __init__(self): QWidget.__init__(self) self.toolbar = QToolBar() self.toolbar.setMovable(False) btn_ac_adduser = QAction(QIcon("resources/icon/add-user.png"), "Add Patient", self) btn_ac_adduser.triggered.connect(self.addPatientForm) btn_ac_adduser.setStatusTip("Add Student") self.toolbar.addAction(btn_ac_adduser) btn_ac_delete = QAction(QIcon("resources/icon/remove-user.png"), "Delete Patient", self) btn_ac_delete.triggered.connect(self.deleteCurrentPatient) btn_ac_delete.setStatusTip("Delete User") self.toolbar.addAction(btn_ac_delete) self.table = QTableWidget() self.table.setSelectionBehavior(QAbstractItemView.SelectRows) self.table.setColumnCount(len(self.columns)) self.table.verticalHeader().setVisible(False) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.table.setHorizontalHeaderLabels(self.columns) self.reload() layout = QHBoxLayout(self) layout.setMenuBar(self.toolbar) layout.addWidget(self.table)
def setupLayout(self): self.table = QTableWidget() self.table.setMinimumHeight(725) self.refresh_table() self.layout = QVBoxLayout() self.layout.addWidget(self.table) inputLayout = QHBoxLayout() self.newName = QLineEdit() self.newCost = QLineEdit() self.newLink = QLineEdit() self.newNote = QLineEdit() self.addButton = QPushButton() self.addButton.pressed.connect(self.onAddButton) self.addButton.setText("add") inputLayout.addWidget(self.newName) inputLayout.addWidget(self.newCost) inputLayout.addWidget(self.newLink) inputLayout.addWidget(self.newNote) inputLayout.addWidget(self.addButton) self.layout.addLayout(inputLayout) self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Minimum, QSizePolicy.Expanding) self.layout.addItem(self.verticalSpacer) self.deleteButton = QPushButton() self.deleteButton.setText("delete") self.deleteButton.pressed.connect(self.onDeleteButton) self.layout.addWidget(self.deleteButton) self.setLayout(self.layout)
def __init__(self): super().__init__() self.items = 0 # Example data self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0, "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85, "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120} # Left self.table = QTableWidget() self.table.setColumnCount(2) self.table.setHorizontalHeaderLabels(['Description', 'Price']) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # Chart self.chart_view = QtCharts.QChartView() self.chart_view.setRenderHint(QPainter.Antialiasing) # Right self.description = QLineEdit() self.price = QLineEdit() self.btn_add = QPushButton('Add') self.btn_clear = QPushButton('Clear') self.btn_quit = QPushButton('Quit') self.btn_plot = QPushButton('Plot') # Disabling 'Add' button self.btn_add.setEnabled(False) self.side_right = QVBoxLayout() self.side_right.setMargin(10) self.side_right.addWidget(QLabel('Description')) self.side_right.addWidget(self.description) self.side_right.addWidget(QLabel('Price')) self.side_right.addWidget(self.price) self.side_right.addWidget(self.btn_add) self.side_right.addWidget(self.btn_plot) self.side_right.addWidget(self.chart_view) self.side_right.addWidget(self.btn_clear) self.side_right.addWidget(self.btn_quit) # Widget Layout self.layout = QHBoxLayout() self.layout.addWidget(self.table) self.layout.addLayout(self.side_right) # Set Layout to Widget self.setLayout(self.layout) # Signals self.btn_add.clicked.connect(self.add_element) self.btn_quit.clicked.connect(self.close_application) self.btn_clear.clicked.connect(self.clear_table) self.btn_plot.clicked.connect(self.plot_data) self.description.textChanged[str].connect(self.check_disable) self.price.textChanged[str].connect(self.check_disable) self.fill_table()
def initUI(self): self.layout = QGridLayout(self) self.setLayout(self.layout) self.back = QPushButton("Back") self.back.clicked.connect(self.chooseotherentity) self.layout.addWidget(self.back, 0, 0) self.pullb = QPushButton("Reload from Shotgun") self.pullb.clicked.connect(self.pull) self.layout.addWidget(self.pullb, 2, 0) self.savePage = QPushButton("Save Page") self.savePage.clicked.connect(self.setPageSettings) self.layout.addWidget(self.savePage, 3, 0) self.grid = QTableWidget(self) self.layout.addWidget(self.grid, 1, 0) self.grid.cellDoubleClicked.connect(self.edit) self.grid.cellClicked.connect(self.unedit) self.activeCell = None self.initData() self.grid.horizontalHeader().setSectionsMovable(True) self.grid.horizontalHeader().setContextMenuPolicy(Qt.CustomContextMenu) self.grid.horizontalHeader().customContextMenuRequested.connect( self.hideF)
def __init__(self, parent, action): """Initializes the widget gui.""" super(YaraDockWidget, self).__init__(parent, action) self.setObjectName('Yara') self.setWindowTitle('Yara') self.table = QTableWidget(self) self.table.setShowGrid(False) self.table.verticalHeader().hide() self.table.setColumnCount(4) self.table.setHorizontalHeaderLabels( ['File Offset', 'String Content', 'Rule', 'Filename']) self.table.resizeColumnsToContents() self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) self.table.setSelectionBehavior(QAbstractItemView.SelectRows) self.table.horizontalHeader().setSectionResizeMode( 2, QHeaderView.Stretch) self.setWidget(self.table) cutter.core().seekChanged.connect(self.update_contents) self.update_contents()
def __init__(self, patient): QWidget.__init__(self) self.patient = patient self.toolbar = QToolBar() self.toolbar.setMovable(False) add_treatment = QAction( QIcon("resources/icon/plus.png"), "Podaj lekarstwo", self ) add_treatment.triggered.connect(self.addTreatmentForm) add_treatment.setStatusTip("Dodaj pomiary") self.toolbar.addAction(add_treatment) delete_treatment = QAction( QIcon("resources/icon/trash-bin.png"), "Usuń podanie lekarstwa", self ) delete_treatment.triggered.connect(self.deleteCurrentTreatment) delete_treatment.setStatusTip("Usuń pomiar") self.toolbar.addAction(delete_treatment) self.table = QTableWidget() self.table.setColumnCount(2) self.table.setHorizontalHeaderLabels(["Data", "Zawartość lekarstwa"]) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.fillTable(patient.treatments) main_layout = QHBoxLayout(self) main_layout.setMenuBar(self.toolbar) main_layout.addWidget(self.table)
def __init__(self): QWidget.__init__(self) self.setWindowTitle("Algorytm DNF") """Inicjlizacja zmiennych, na których będą dokynowane obliczenia oraz utworzenie obiektów (tabela,pola edycyjne,przyciski)""" self.table = QTableWidget() self.features = 0 self.examples = 0 self.file_name = QLineEdit() self.from_file = QPushButton("Wprowadź dane z pliku") self.solve = QPushButton("Rozwiąż") self.result = QLabel() self.error_info = QMessageBox() """Tworzenie layoutów a następnie dodawanie do nich widgetów""" self.left = QVBoxLayout() self.left.addWidget(self.from_file) self.left.addWidget(self.solve) self.left.addWidget(self.result) self.solve.setEnabled(False) self.center = QVBoxLayout() """Tworzenie głównego layoutu a następnie dodawanie do nich trzech utworzonych wcześniej""" self.layout = QHBoxLayout() self.layout.addLayout(self.left) self.layout.addLayout(self.center) self.setLayout(self.layout) """Komunikacja pomiędzy obiektami""" self.from_file.clicked.connect(self.create_table) self.solve.clicked.connect(self.DNF)
def __init__(self, parent=None): # + parent=None super().__init__(parent) # + parent self.setLayout(QFormLayout()) self.inputs = dict() self.inputs['Customer Name'] = QLineEdit() self.inputs['Customer Address'] = QPlainTextEdit() self.inputs['Invoice Date'] = QDateEdit(date=QDate.currentDate(), calendarPopup=True) self.inputs['Days until Due'] = QSpinBox() for label, widget in self.inputs.items(): self.layout().addRow(label, widget) self.line_items = QTableWidget(rowCount=10, columnCount=3) self.line_items.setHorizontalHeaderLabels(['Job', 'Rate', 'Hours']) self.line_items.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.layout().addRow(self.line_items) for row in range(self.line_items.rowCount()): for col in range(self.line_items.columnCount()): if col > 0: w = QSpinBox() self.line_items.setCellWidget(row, col, w) submit = QPushButton('Create Invoice', clicked=self.on_submit) # + vvvvvv vvvvvvvvvvvvv _print = QPushButton('Print Invoice', clicked=self.window().printpreviewDialog) # + _print, + self.window() self.layout().addRow(submit, _print) # + _print
def __init__(self): ''' # TODO ''' super().__init__() # Data self.values = [] self.values_view = [] self.labels = [] # Search bar self.search_label = QLabel('Cerca') self.search_bar = QLineEdit() self.search_bar.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Minimum) self.search_bar.textChanged[str].connect(self.update_table) self.search_layout = QHBoxLayout() self.search_layout.addWidget(self.search_label) self.search_layout.addWidget(self.search_bar) # Table self.table = QTableWidget() self.item_count = 0 # Layout self.layout = QtWidgets.QVBoxLayout() self.layout.addLayout(self.search_layout) self.layout.addWidget(self.table) self.setLayout(self.layout)
def __init__(self): QWidget.__init__(self) # create table self.table_widget = QTableWidget(0, 7) self.table_widget.setHorizontalHeaderLabels( ["ID", "Name", "Level", "Difficulty", "Mode", "Players", "IP"]) self.table_widget.verticalHeader().setVisible(False) self.table_widget.setEditTriggers(QAbstractItemView.NoEditTriggers) self.table_widget.setSelectionBehavior(QAbstractItemView.SelectRows) self.table_widget.setSortingEnabled(True) # adjust width of IP column self.table_widget.setColumnWidth(6, 170) # password field self.search_label = QLabel("Password:"******"Refresh") self.search_button.clicked.connect(self.search) # search form self.search_form = QHBoxLayout() self.search_form.addWidget(self.search_label) self.search_form.addWidget(self.search_edit) # create main layout self.main_layout = QGridLayout() self.main_layout.addWidget(self.table_widget, 0, 0) self.main_layout.addLayout(self.search_form, 1, 0) self.main_layout.addWidget(self.search_button, 2, 0) self.setLayout(self.main_layout)
def __init__(self): QWidget.__init__(self) self.items = 0 # Example data self._data = {"Water": 24.5, "Electricity": 55.1, "Rent": 850.0, "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85, "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120} # Left self.table = QTableWidget() self.table.setColumnCount(2) self.table.setHorizontalHeaderLabels(["Description", "Price"]) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # QWidget Layout self.layout = QHBoxLayout() #self.table_view.setSizePolicy(size) self.layout.addWidget(self.table) # Set the layout to the QWidget self.setLayout(self.layout) # Fill example data self.fill_table()
def _load_screen(self): box=QVBoxLayout() info=QWidget() infoBox=QHBoxLayout() lbl_txt=QLabel(_("Manage extra repositories")) lbl_txt.setAlignment(Qt.AlignTop) infoBox.addWidget(lbl_txt,1) icn_add=QtGui.QIcon().fromTheme('document-new') btn_add=QPushButton() btn_add.clicked.connect(self._addRepo) btn_add.setIcon(icn_add) btn_add.setToolTip(_("Add new repository")) infoBox.addWidget(btn_add,0) info.setLayout(infoBox) box.addWidget(info,0) self.table=QTableWidget(1,2) Hheader=self.table.horizontalHeader() Vheader=self.table.verticalHeader() Hheader.setSectionResizeMode(0,QHeaderView.Stretch) Vheader.setSectionResizeMode(QHeaderView.ResizeToContents) self.table.setShowGrid(False) self.table.setSelectionBehavior(QTableWidget.SelectRows) self.table.setSelectionMode(QTableWidget.NoSelection) self.table.setEditTriggers(QTableWidget.NoEditTriggers) self.table.horizontalHeader().hide() self.table.verticalHeader().hide() box.addWidget(self.table) self.setLayout(box) self.updateScreen()
def _init_widgets(self): self.view = QTabWidget() # QGraphicsView() self.traceTab = QWidget() tracelayout = QVBoxLayout() self.traceView = QGraphicsView() self.traceScene = QGraphicsScene() self.traceView.setScene(self.traceScene) self.listView = QTableWidget(0, 2) # row, col self.listView.setHorizontalHeaderItem(0, QTableWidgetItem("Trace ID")) self.listView.setHorizontalHeaderItem(1, QTableWidgetItem("Input ID")) self.listView.setSelectionMode(QAbstractItemView.SingleSelection) self.listView.setSelectionBehavior(QAbstractItemView.SelectRows) # self.listView.horizontalHeader().setStretchLastSection(True) # self.listView.horizontalHeader().setSectionResizeModel(0, QHeaderView.Stretch) self.listView.cellClicked.connect(self._switch_current_trace) self.traceSeedButton = QPushButton("View Input Seed") self.traceSeedButton.clicked.connect(self._view_input_seed) tracelayout.addWidget(self.traceView) tracelayout.addWidget(self.listView) tracelayout.addWidget(self.traceSeedButton) self.traceTab.setLayout(tracelayout) self.multiView = QWidget() multiLayout = QVBoxLayout() self.multiTraceList = QTableWidget(0, 2) # row, col self.multiTraceList.setSelectionMode(QAbstractItemView.MultiSelection) self.multiTraceList.setSelectionBehavior(QAbstractItemView.SelectRows) self.multiTraceList.setHorizontalScrollMode( self.multiTraceList.ScrollPerPixel) self.multiTraceList.setHorizontalHeaderItem( 0, QTableWidgetItem("Trace ID")) self.multiTraceList.setHorizontalHeaderItem( 1, QTableWidgetItem("Input ID")) self.selectMultiTrace = QPushButton("Refresh Heatmap") self.selectMultiTrace.clicked.connect(self._refresh_heatmap) multiLayout.addWidget(self.multiTraceList) multiLayout.addWidget(self.selectMultiTrace) self.multiView.setLayout(multiLayout) self.view.addTab(self.traceTab, "SingleTrace") self.view.addTab(self.multiView, "MultiTrace HeatMap") self.SINGLE_TRACE = 0 self.MULTI_TRACE = 1 self.view.currentChanged.connect(self._on_tab_change) self._reset() layout = QVBoxLayout() layout.addWidget(self.view) layout.setContentsMargins(0, 0, 0, 0) layout.setAlignment(self.view, Qt.AlignLeft) self.setLayout(layout)
def __init__(self, layout): # 6行3列 self.tableWidget = QTableWidget(6, 3) self.tableWidget.setHorizontalHeaderLabels(["参数", "值", "单位"]) self.tableWidget.horizontalHeader().setSectionResizeMode( QHeaderView.Stretch) self.line = 0 self.layout = layout
def __init__(self, controller): QWidget.__init__(self) self.controller = controller self.view_table = QTableWidget(0, 3) self.init() self.update_list()
def initUI(self): # Create Layouts grid = QGridLayout() # for frame_input vbox = QVBoxLayout() # for MainForm hbox_frame_btn = QHBoxLayout() # for frame_button hbox_title = QHBoxLayout() # for frame_title # Create controls frame_title = QFrame() frame_input = QFrame() frame_button = QFrame() self.tbl = QTableWidget(50, n) self.tbl.setHorizontalHeaderLabels(FIELDS2ZH) self.tbl.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.tbl.setEditTriggers(QAbstractItemView.NoEditTriggers) # Binding layout for MainForm and subFrame self.setLayout(vbox) frame_title.setLayout(hbox_title) frame_input.setLayout(grid) frame_button.setLayout(hbox_frame_btn) # Add widgets for each layout, # then it can show widgets in the form which binding the matched layout # # set Main Form's layout vbox.addWidget(frame_title) vbox.addWidget(frame_input) vbox.addWidget(frame_button) vbox.addWidget(self.tbl) # # set sub frame's layout zh_en_btn = { '生成条目': self.gen_items, '清空': self.clear, '打印程序': self.print } for btn_name in zh_en_btn.keys(): btn = QPushButton(btn_name) btn.clicked.connect(zh_en_btn[btn_name]) hbox_frame_btn.addWidget(btn) hbox_frame_btn.addStretch(1) positions = [(i, j) for i in range(2) for j in range(n)] for control_name, pos in zip(FIELDS2ZH * 2, positions): if pos[0] == 0: control = QLabel(control_name) else: control = QLineEdit(control_name, text='100') grid.addWidget(control, *pos) # main add Widget method hbox_title.addWidget(self.lbl_ico_title) hbox_title.addWidget(self.lbl_title) hbox_title.addStretch(1) self.move(300, 150) # (top, left) is the start position self.setWindowIcon(self.app_icon) self.show()
def __init__(self): QWidget.__init__(self) self.items = 0 # Example data self._data = { "Water": 24.5, "Electricity": 55.1, "Rent": 850.0, "Supermarket": 230.4, "Internet": 29.99, "Bars": 21.85, "Public transportation": 60.0, "Coffee": 22.45, "Restaurants": 120 } # Left self.table = QTableWidget() self.table.setColumnCount(2) self.table.setHorizontalHeaderLabels(["Description", "Price"]) self.table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # Right self.description = QLineEdit() self.price = QLineEdit() self.add = QPushButton("Add") self.clear = QPushButton("Clear") self.quit = QPushButton("Quit") self.right = QVBoxLayout() self.right.setMargin(10) self.right.addWidget(QLabel("Description")) self.right.addWidget(self.description) self.right.addWidget(QLabel("Price")) self.right.addWidget(self.price) self.right.addWidget(self.add) self.right.addStretch() self.right.addWidget(self.quit) # QWidget Layout self.layout = QHBoxLayout() #self.table_view.setSizePolicy(size) self.layout.addWidget(self.table) self.layout.addLayout(self.right) # Set the layout to the QWidget self.setLayout(self.layout) # Signals and Slots self.add.clicked.connect(self.add_element) self.quit.clicked.connect(self.quit_application) self.clear.clicked.connect(self.clear_table) # Fill example data self.fill_table()
def __init__(self, messages, hiddenLifelines, parent = None): super(HiddenMessageDialog, self).__init__(parent) self.lifelineList = hiddenLifelines self.msgList = messages layout = QVBoxLayout(self) listTitle = QLabel('Hidden Messages') layout.addWidget(listTitle) self.listHiddenMessages = QTableWidget(len(self.msgList),4) self.listHiddenMessages.setHorizontalHeaderLabels(['Index','Name','Departure','Destination']) self.listHiddenMessages.setFixedWidth(400) #self.listHiddenMessages.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) self.listHiddenMessages.setSelectionBehavior(QAbstractItemView.SelectRows) for idx, msg in enumerate(self.msgList): self.listHiddenMessages.setItem(idx,0,QTableWidgetItem("%d" % msg['messageindex'])) self.listHiddenMessages.setItem(idx,1,QTableWidgetItem(msg['message'])) item = QTableWidgetItem(msg['departure']['class']) item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight) if msg['departure']['class'] in self.lifelineList: item.setForeground(QColor(200,200,200)) self.listHiddenMessages.setItem(idx,2,item) item = QTableWidgetItem(msg['dest']) item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight) if msg['dest'] in self.lifelineList: item.setForeground(QColor(200,200,200)) self.listHiddenMessages.setItem(idx,3,item) layout.addWidget(self.listHiddenMessages) buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, QtCore.Qt.Horizontal, self) buttons.button(QDialogButtonBox.Ok).setText('Show') buttons.accepted.connect(self.accept) buttons.rejected.connect(self.reject) layout.addWidget(buttons)
class ToolBox(QVBoxLayout): sig = QtCore.Signal(object) listThread = None groupBoxThreadInfo = None threadvbox = None mode = None def __init__(self, mode, parentQWidget = None): QVBoxLayout.__init__(self) self.sig.connect(self.addThreadList) self.mode = mode self.sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.groupBoxSearch = QGroupBox() self.groupBoxSearch.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 4px; };") vboxSearch = QVBoxLayout() self.searchTitle = QLabel("Search Messages") vboxSearch.addWidget(self.searchTitle) self.searchHLayout = QHBoxLayout() self.editTextSearch = QTextEdit('') self.editTextSearch.setFixedSize(200,30) self.buttonSearch = QPushButton('Search') self.buttonSearch.setFixedSize(100,30) self.buttonSearch.clicked.connect(self.searchMsg) vboxSearch.addWidget(self.editTextSearch) self.searchHLayout.addWidget(self.buttonSearch) self.searchCursor = QLabel() self.searchHLayout.addWidget(self.searchCursor) vboxSearch.addLayout(self.searchHLayout) self.browseHLayout = QHBoxLayout() self.buttonLookUp = QPushButton('\u21e7') #Arrow up self.buttonLookUp.setFixedWidth(100) self.buttonLookUp.clicked.connect(self.moveToPrev) self.buttonLookDown = QPushButton('\u21e9') #Arrow down self.buttonLookDown.setFixedWidth(100) self.buttonLookDown.clicked.connect(self.moveToNext) self.browseHLayout.addWidget(self.buttonLookUp) self.browseHLayout.addWidget(self.buttonLookDown) vboxSearch.addLayout(self.browseHLayout) self.groupBoxSearch.setLayout(vboxSearch) self.addWidget(self.groupBoxSearch) self.groupBoxSearch.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.buttonHiddenLifelines = QPushButton('Show hidden life-lines') self.buttonHiddenLifelines.setFixedWidth(200) self.buttonHiddenLifelines.clicked.connect(self.showHiddenLifelines) self.addWidget(self.buttonHiddenLifelines) self.buttonHiddenMessages = QPushButton('Show hidden Messages') self.buttonHiddenMessages.setFixedWidth(200) self.buttonHiddenMessages.clicked.connect(self.showHiddenMessages) self.addWidget(self.buttonHiddenMessages) if const.mode_interactive == mode: self.buttonCapture = QPushButton('Capture') self.buttonCapture.setFixedWidth(200) self.buttonCapture.clicked.connect(self.notifyCapture) self.addWidget(self.buttonCapture) self.msgRcv = [] self.msgInfo = QLabel("Message Info.") self.groupBoxMessageInfo = QGroupBox() self.groupBoxMessageInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;") vbox = QVBoxLayout() vbox.addWidget(self.msgInfo) self.tableTime = QTableWidget(3,2) self.tableTime.setHorizontalHeaderLabels(['-','time']) self.tableTime.setColumnWidth(0,80) self.tableTime.setColumnWidth(1,150) vwidth = self.tableTime.verticalHeader().length() hwidth = self.tableTime.horizontalHeader().height() fwidth = self.tableTime.frameWidth() * 2 self.tableTime.setFixedHeight(vwidth + hwidth + fwidth) self.tableTime.horizontalHeader().setStretchLastSection(True) self.tableTime.setItem(0,0,QTableWidgetItem('begin')) self.tableTime.setItem(0,1,QTableWidgetItem(' - ')) self.tableTime.setItem(1,0,QTableWidgetItem('end')) self.tableTime.setItem(1,1,QTableWidgetItem(' - ')) self.tableTime.setItem(2,0,QTableWidgetItem('duration')) self.tableTime.setItem(2,1,QTableWidgetItem(' - ')) vbox.addWidget(self.tableTime) self.titleArg = QLabel('Argument List') vbox.addWidget(self.titleArg) max_arg_num = 10 self.tableArgs = QTableWidget(max_arg_num,2) self.tableArgs.setHorizontalHeaderLabels(['type','value']) for idx in range(0,max_arg_num): self.tableArgs.setItem(idx,0,QTableWidgetItem()) self.tableArgs.setItem(idx,1,QTableWidgetItem()) self.tableArgs.horizontalHeader().setStretchLastSection(True) vbox.addWidget(self.tableArgs) self.titleArg = QLabel('Return Value List') vbox.addWidget(self.titleArg) max_ret_num = 4 self.tableRet = QTableWidget(max_ret_num,2) self.tableRet.setHorizontalHeaderLabels(['type','value']) for idx in range(0,max_ret_num): self.tableRet.setItem(idx,0,QTableWidgetItem()) self.tableRet.setItem(idx,1,QTableWidgetItem()) self.tableRet.horizontalHeader().setStretchLastSection(True) vwidth = self.tableRet.verticalHeader().length() hwidth = self.tableRet.horizontalHeader().height() fwidth = self.tableRet.frameWidth() * 2 self.tableRet.setFixedHeight(vwidth + hwidth + fwidth) vbox.addWidget(self.tableRet) self.buttonSrcView = QPushButton('view code') self.buttonSrcView.setFixedWidth(200) self.buttonSrcView.clicked.connect(self.openSourceViewer) self.buttonHide = QPushButton('Hide') self.buttonHide.setFixedWidth(200) self.buttonHide.clicked.connect(self.notifyHide) self.buttonHideAllMsg = QPushButton('Hide All') self.buttonHideAllMsg.setFixedWidth(200) self.buttonHideAllMsg.clicked.connect(self.hideAllMsgNamedAsSelected) self.groupBoxMessageInfo.setLayout(vbox) self.checkHideCircular = QCheckBox('Hide Circular Messages') self.checkHideCircular.setCheckState(QtCore.Qt.Unchecked) self.checkHideCircular.stateChanged.connect(self.changeHideCircularMessage) self.addWidget(self.checkHideCircular) self.addWidget(self.groupBoxMessageInfo) self.groupBoxMessageInfo.setSizePolicy(self.sizePolicy) def reset(self): for idx in reversed(range(0,self.listThread.count())): self.listThread.takeItem(idx) def setMsgInfoMessage(self,msg): self.strMessage = msg def changeHideCircularMessage(self,state): if state == QtCore.Qt.Unchecked: self.diagramView.hideCircularChanged(False) elif state == QtCore.Qt.Checked: self.diagramView.hideCircularChanged(True) def setMsgInfoModule(self,module): self.strModule = module def updateSearchStatus(self,curr,number): self.searchCursor.setText("%d/%d" % (curr,number)) def connectSourceViewer(self,viewer): self.srcViewer = viewer def openSourceViewer(self): self.srcViewer.openViewer(self.strModule,self.strMessage) def setMessageInfoTime(self,begin,end,duration): self.tableTime.item(0,1).setText(begin) self.tableTime.item(1,1).setText(end) self.tableTime.item(2,1).setText(duration + ' msec') def setMessageInfoArg(self,listParam,listArg): # Clear the contents in the table max_arg_num = 10 for idx in range(0,max_arg_num): self.tableArgs.item(idx,0).setText('') self.tableArgs.item(idx,1).setText('') if listArg: for idx, text in enumerate(listArg): self.tableArgs.item(idx,1).setText(text) for idx, text in enumerate(listParam): self.tableArgs.item(idx,0).setText(text) else: for idx in range(0,self.tableArgs.rowCount()): self.tableArgs.item(idx,1).setText('') self.tableArgs.item(idx,0).setText('') def setMessageInfoRet(self,listRet): if listRet: for idx, text in enumerate(listRet): self.tableRet.item(idx,1).setText(text) else: for idx in range(0,self.tableRet.rowCount()): self.tableRet.item(idx,1).setText('') self.tableRet.item(idx,0).setText('') def notifyInteractiveStateChanged(self,state): if const.mode_interactive != self.mode: return if const.STATE_INTERACTIVE_CAPTURING == state: self.buttonCapture.setEnabled(True) self.buttonCapture.setText('Stop Capture') if const.STATE_INTERACTIVE_PROCESSING == state: self.buttonCapture.setEnabled(False) if const.STATE_INTERACTIVE_IDLE == state: self.buttonCapture.setEnabled(True) self.buttonCapture.setText('Capture') if const.STATE_INTERACTIVE_RESET == state: self.buttonCapture.setEnabled(True) self.buttonCapture.setText('Capture') elif const.STATE_INTERACTIVE_ACTIVE == state: self.buttonCapture.setEnabled(True) self.buttonCapture.setText('Capture') def setMessageInfo(self,info): self.msgInfo.setText(info) def setAvailable(self,threads): self.sig.emit(threads) def toggleThreadDisplay(self,item): print(self.listThread.currentRow()) #if item.isSelected(): # print(item.text() + " is selected") #else: # print(item.text() + " is not selected") self.diagramView.showThread(self.listThread.currentRow(),item.isSelected()) def hideAllMsgNamedAsSelected(self): self.diagramView.hideAllMessageSelected() def addThreadList(self,threads): if not self.groupBoxThreadInfo: self.groupBoxThreadInfo = QGroupBox() self.threadInfo = QLabel("Thread Info.") self.groupBoxThreadInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;") if not self.threadvbox: self.threadvbox = QVBoxLayout() if not self.listThread: self.listThread = QListWidget() self.listThread.setFixedWidth(200) self.listThread.setSelectionMode(QAbstractItemView.MultiSelection) QtCore.QObject.connect(self.listThread, QtCore.SIGNAL("itemClicked(QListWidgetItem *)"), self.toggleThreadDisplay) self.threadvbox.addWidget(self.threadInfo) self.threadvbox.addWidget(self.listThread) self.groupBoxThreadInfo.setLayout(self.threadvbox) self.addWidget(self.groupBoxThreadInfo) self.groupBoxThreadInfo.setSizePolicy(self.sizePolicy) for id in threads: item = QListWidgetItem(id) self.listThread.addItem(item) def connectController(self,controller): self.controller = controller self.connect(controller,QtCore.SIGNAL('setAvailable()'),self.setAvailable) def connectDiagramView(self,view): self.diagramView = view def disconnectMsgRcv(self,receiver): print("Implement this method !!! disconnectMsgRcv") def connectMsgRcv(self,receiver): self.msgRcv.append(receiver) def notifyHide(self): for rcv in self.msgRcv: rcv.activateHide(True) def showHiddenLifelines(self): response, selected_items = HiddenDialog.HiddenDialog.getSelectedItems(self.diagramView.getHiddenLifeLines()) if response: self.diagramView.showLifelines(selected_items) def showHiddenMessages(self): response, selected_items = HiddenMessageDialog.HiddenMessageDialog.getSelectedItems(self.diagramView.getHiddenMessages(),self.diagramView.getHiddenLifeLines()) if response: if selected_items[3] in self.diagramView.getHiddenLifeLines(): confirmation = ShowLifeLineDialog.ShowLifeLineDialog.confirmToShowLifeLine(selected_items[3]) if confirmation: self.diagramView.showLifelines([selected_items[3]]) self.diagramView.showMessages(selected_items) else: self.diagramView.showMessages(selected_items) def notifyCapture(self): for rcv in self.msgRcv: rcv.activateCapture(True) def moveToPrev(self): for rcv in self.msgRcv: rcv.moveToPrev() def moveToNext(self): for rcv in self.msgRcv: rcv.moveToNext() def searchMsg(self): str = self.editTextSearch.toPlainText() for rcv in self.msgRcv: rcv.searchMessage(str)
def __init__(self, mode, parentQWidget = None): QVBoxLayout.__init__(self) self.sig.connect(self.addThreadList) self.mode = mode self.sizePolicy = QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding) self.groupBoxSearch = QGroupBox() self.groupBoxSearch.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 4px; };") vboxSearch = QVBoxLayout() self.searchTitle = QLabel("Search Messages") vboxSearch.addWidget(self.searchTitle) self.searchHLayout = QHBoxLayout() self.editTextSearch = QTextEdit('') self.editTextSearch.setFixedSize(200,30) self.buttonSearch = QPushButton('Search') self.buttonSearch.setFixedSize(100,30) self.buttonSearch.clicked.connect(self.searchMsg) vboxSearch.addWidget(self.editTextSearch) self.searchHLayout.addWidget(self.buttonSearch) self.searchCursor = QLabel() self.searchHLayout.addWidget(self.searchCursor) vboxSearch.addLayout(self.searchHLayout) self.browseHLayout = QHBoxLayout() self.buttonLookUp = QPushButton('\u21e7') #Arrow up self.buttonLookUp.setFixedWidth(100) self.buttonLookUp.clicked.connect(self.moveToPrev) self.buttonLookDown = QPushButton('\u21e9') #Arrow down self.buttonLookDown.setFixedWidth(100) self.buttonLookDown.clicked.connect(self.moveToNext) self.browseHLayout.addWidget(self.buttonLookUp) self.browseHLayout.addWidget(self.buttonLookDown) vboxSearch.addLayout(self.browseHLayout) self.groupBoxSearch.setLayout(vboxSearch) self.addWidget(self.groupBoxSearch) self.groupBoxSearch.setSizePolicy(QSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed)) self.buttonHiddenLifelines = QPushButton('Show hidden life-lines') self.buttonHiddenLifelines.setFixedWidth(200) self.buttonHiddenLifelines.clicked.connect(self.showHiddenLifelines) self.addWidget(self.buttonHiddenLifelines) self.buttonHiddenMessages = QPushButton('Show hidden Messages') self.buttonHiddenMessages.setFixedWidth(200) self.buttonHiddenMessages.clicked.connect(self.showHiddenMessages) self.addWidget(self.buttonHiddenMessages) if const.mode_interactive == mode: self.buttonCapture = QPushButton('Capture') self.buttonCapture.setFixedWidth(200) self.buttonCapture.clicked.connect(self.notifyCapture) self.addWidget(self.buttonCapture) self.msgRcv = [] self.msgInfo = QLabel("Message Info.") self.groupBoxMessageInfo = QGroupBox() self.groupBoxMessageInfo.setStyleSheet("QGroupBox {border: 1px solid gray; border-radius: 9px; margin-top: 0.5em} QGroupBox::title {subcontrol-origin: margin; left: 10px; padding: 0 3px 0 3px;") vbox = QVBoxLayout() vbox.addWidget(self.msgInfo) self.tableTime = QTableWidget(3,2) self.tableTime.setHorizontalHeaderLabels(['-','time']) self.tableTime.setColumnWidth(0,80) self.tableTime.setColumnWidth(1,150) vwidth = self.tableTime.verticalHeader().length() hwidth = self.tableTime.horizontalHeader().height() fwidth = self.tableTime.frameWidth() * 2 self.tableTime.setFixedHeight(vwidth + hwidth + fwidth) self.tableTime.horizontalHeader().setStretchLastSection(True) self.tableTime.setItem(0,0,QTableWidgetItem('begin')) self.tableTime.setItem(0,1,QTableWidgetItem(' - ')) self.tableTime.setItem(1,0,QTableWidgetItem('end')) self.tableTime.setItem(1,1,QTableWidgetItem(' - ')) self.tableTime.setItem(2,0,QTableWidgetItem('duration')) self.tableTime.setItem(2,1,QTableWidgetItem(' - ')) vbox.addWidget(self.tableTime) self.titleArg = QLabel('Argument List') vbox.addWidget(self.titleArg) max_arg_num = 10 self.tableArgs = QTableWidget(max_arg_num,2) self.tableArgs.setHorizontalHeaderLabels(['type','value']) for idx in range(0,max_arg_num): self.tableArgs.setItem(idx,0,QTableWidgetItem()) self.tableArgs.setItem(idx,1,QTableWidgetItem()) self.tableArgs.horizontalHeader().setStretchLastSection(True) vbox.addWidget(self.tableArgs) self.titleArg = QLabel('Return Value List') vbox.addWidget(self.titleArg) max_ret_num = 4 self.tableRet = QTableWidget(max_ret_num,2) self.tableRet.setHorizontalHeaderLabels(['type','value']) for idx in range(0,max_ret_num): self.tableRet.setItem(idx,0,QTableWidgetItem()) self.tableRet.setItem(idx,1,QTableWidgetItem()) self.tableRet.horizontalHeader().setStretchLastSection(True) vwidth = self.tableRet.verticalHeader().length() hwidth = self.tableRet.horizontalHeader().height() fwidth = self.tableRet.frameWidth() * 2 self.tableRet.setFixedHeight(vwidth + hwidth + fwidth) vbox.addWidget(self.tableRet) self.buttonSrcView = QPushButton('view code') self.buttonSrcView.setFixedWidth(200) self.buttonSrcView.clicked.connect(self.openSourceViewer) self.buttonHide = QPushButton('Hide') self.buttonHide.setFixedWidth(200) self.buttonHide.clicked.connect(self.notifyHide) self.buttonHideAllMsg = QPushButton('Hide All') self.buttonHideAllMsg.setFixedWidth(200) self.buttonHideAllMsg.clicked.connect(self.hideAllMsgNamedAsSelected) self.groupBoxMessageInfo.setLayout(vbox) self.checkHideCircular = QCheckBox('Hide Circular Messages') self.checkHideCircular.setCheckState(QtCore.Qt.Unchecked) self.checkHideCircular.stateChanged.connect(self.changeHideCircularMessage) self.addWidget(self.checkHideCircular) self.addWidget(self.groupBoxMessageInfo) self.groupBoxMessageInfo.setSizePolicy(self.sizePolicy)
def testItemModel(self): tv = QTableWidget() self.assertEqual(type(tv.model()), QAbstractTableModel)