def _render_gui(self): self.getConfig() box = QGridLayout() img_banner = QLabel() if os.path.isfile(self.banner): img = QtGui.QPixmap(self.banner) img_banner.setPixmap(img) img_banner.setAlignment(Qt.AlignCenter) img_banner.setObjectName("banner") box.addWidget(img_banner, 0, 0, 1, 2) self.lst_options = QListWidget() self.stk_widget = QStackedWidget() idx = 0 if len(self.stacks) > 2: l_panel = self._left_panel() box.addWidget(l_panel, 1, 0, 1, 1, Qt.Alignment(1) | Qt.AlignTop) # self.stk_widget.setCurrentIndex(0) else: idx = 1 # self.stk_widget.setCurrentIndex(1) r_panel = self._right_panel() self.stk_widget.setCurrentIndex(idx) #self.gotoStack(idx,"") box.addWidget(r_panel, 1, 1, 1, 1) self.setLayout(box) self.show()
def __init__(self, root: Directory, parent: QObject = None): """ :param root: root of all directories. Directories in root will be displayed with drive icons. :param parent: parent object. """ super().__init__(parent) self.root = root self.breadcrumbLabel = QLabel() self.titleLabel = QLabel() self.titleLabel.setStyleSheet("font-weight: bold") self.titleSeparator: QFrame = QFrame() self.titleSeparator.setFrameShape(QFrame.HLine) self.listWidget = QListWidget() self.listWidget.setSortingEnabled(True) self.listWidget.setContextMenuPolicy(Qt.CustomContextMenu) self.listWidget.customContextMenuRequested.connect(self.onCustomContextMenu) self.verticalLayout = QVBoxLayout() self.verticalLayout.addWidget(self.breadcrumbLabel) self.verticalLayout.addWidget(self.listWidget) self.setLayout(self.verticalLayout) self.listWidget.itemDoubleClicked.connect(self.onItemDoubleClicked) self.currentPath: Path = Path("/") self.currentDirectory: Directory = root self.listCurrentDirectory() self.currentDirectory.addObserver(self)
def _get_checked_items(self, qlist: QListWidget): items = [] for i in range(qlist.count()): item = qlist.item(i) if item.checkState() == Qt.Checked: items.append(item) return items
def __init__(self, mainWindow): QListWidget.__init__(self) self.spots = [] self.setFixedWidth(300) self.mainWindow = mainWindow self.count = 0 QObject.connect(self, SIGNAL("itemClicked(QListWidgetItem *)"), self.test)
def __init__(self, parent=None): super(MyWidget, self).__init__(parent) ## 左 menu_widget = QListWidget() for i in range(10): item = QListWidgetItem("Item {}".format(i)) item.setTextAlignment(Qt.AlignCenter) menu_widget.addItem(item) ## 右 # 右上 _placeholder = "This is a placeholder text" text_widget = QLabel(_placeholder) text_widget.setObjectName("title") # 右下 button = QPushButton("Something") content_layout = QVBoxLayout() content_layout.addWidget(text_widget) content_layout.addWidget(button) main_widget = QWidget() main_widget.setLayout(content_layout) ## 全体を構成 layout = QHBoxLayout() layout.addWidget(menu_widget, 1) layout.addWidget(main_widget, 4) self.setLayout(layout)
def __init__(self, parent, title, person, unsorted_objects, autoshow=True, progress_indicator=None): super().__init__(None) act = QAction("close", self) act.triggered.connect(self._do_close) act.setShortcut(QKeySequence("escape")) self.addAction(act) layout = QGridLayout() bar = QMenuBar(self) self._object_actions = bar.addMenu(_("Object actions")) property_actions = bar.addMenu(_("Property actions")) self._create_item(property_actions, _("Copy property value"), "ctrl+c", self.on_copypropvalue_selected) self._create_item(property_actions, _("Copy property name"), "alt+c", self.on_copypropname_selected) self._create_item(property_actions, _("Copy property name and value"), "ctrl+alt+c", self.on_copypropline_selected) objects_label = QLabel(_("Objects"), self) layout.addWidget(objects_label, 0, 0) self._objects_list = QListWidget(self) self._objects_list.setAccessibleName(objects_label.text()) self._objects_list.setContextMenuPolicy(Qt.CustomContextMenu) self._objects_list.currentRowChanged.connect(self.on_objects_listbox) self._objects_list.customContextMenuRequested.connect( self._on_objects_list_menu) objects_label.setBuddy(self._objects_list) layout.addWidget(self._objects_list, 1, 0) props_label = QLabel(_("Object properties"), self) layout.addWidget(props_label, 0, 1) self._props = QTreeWidget(self) self._props.setAccessibleName(props_label.text()) props_label.setBuddy(self._props) layout.addWidget(self._props, 1, 1) goto_button = QPushButton(_("Go to"), self) goto_button.setDefault(True) goto_button.clicked.connect(self.on_goto_clicked) self._objects_list.itemActivated.connect(goto_button.click) layout.addWidget(goto_button, 2, 0) close_button = QPushButton(_("Close"), self) close_button.clicked.connect(self.close) layout.addWidget(close_button, 2, 1) self.setLayout(layout) self.setWindowTitle(title + _(" ({num_objects} objects shown)").format( num_objects=len(unsorted_objects))) self._person = person self._autoshow = autoshow self._progress_indicator = progress_indicator self._all_actions = [] for member in object_actions.__dict__.values(): if inspect.isclass(member) and issubclass(member, ObjectAction): self._all_actions.append(member) self._objects_list.setCurrentRow(0) self._sorter = ObjectsSorter(unsorted_objects, person) self._sorter.objects_sorted.connect(self._objects_sorted) self._sorter.start()
def __init__(self, gui, app): super(Widgets, self).__init__() self.gui = gui self.app = app self.setWindowTitle("Dark Souls Boss Tracker") self.setGeometry(800, 400, 250, 200) self.new_run_label = QLabel("Run name:") self.new_run_field = QLineEdit(self) self.new_run_button = QPushButton("Start New Run", self) self.new_run_button.clicked.connect(self.new_run) self.previous_label = QLabel("Previous runs:") self.previous_runs = QListWidget(self) self.previous_runs.itemClicked.connect(self.select_run) self.selected = None self.resume_button = QPushButton("Resume Run", self) self.resume_button.clicked.connect(self.resume) self.delete_button = QPushButton("Delete Run", self) self.delete_button.clicked.connect(self.delete_run) self.layout = QGridLayout() self.layout.addWidget(self.new_run_label, 0, 0) self.layout.addWidget(self.new_run_field, 1, 0) self.layout.addWidget(self.new_run_button, 1, 1) self.layout.addWidget(self.previous_label, 2, 0) self.layout.addWidget(self.previous_runs, 3, 0) self.layout.addWidget(self.resume_button, 4, 0) self.layout.addWidget(self.delete_button, 4, 1) self.get_tables() self.setLayout(self.layout)
def __init__(self): QWidget.__init__(self) self.myListWidget1 = QListWidget() self.myListWidget2 = QListWidget() self.myListWidget2.setViewMode(QListWidget.IconMode) self.myListWidget1.setAcceptDrops(True) self.myListWidget1.setDragEnabled(True) self.myListWidget2.setAcceptDrops(True) self.myListWidget2.setDragEnabled(True) self.setGeometry(300, 350, 500, 150) self.myLayout = QHBoxLayout() self.myLayout.addWidget(self.myListWidget1) self.myLayout.addWidget(self.myListWidget2) self.l1 = QListWidgetItem(QIcon('doc_saved.png'), "Angry Bird Blue") self.l2 = QListWidgetItem(QIcon('doc_saved.png'), "Angry Bird Red") self.l3 = QListWidgetItem(QIcon('doc_saved.png'), "Angry Bird Green") self.l4 = QListWidgetItem(QIcon('doc_saved.png'), "Angry Bird Black") self.l5 = QListWidgetItem(QIcon('doc_saved.png'), "Angry Bird White") self.myListWidget1.insertItem(1, self.l1) self.myListWidget1.insertItem(2, self.l2) self.myListWidget1.insertItem(3, self.l3) self.myListWidget1.insertItem(4, self.l4) self.myListWidget1.insertItem(5, self.l5) QListWidgetItem(QIcon('doc_write.png'), "Grey Pig", self.myListWidget2) QListWidgetItem(QIcon('doc_write.png'), "Brown Pig", self.myListWidget2) QListWidgetItem(QIcon('doc_write.png'), "Green Pig", self.myListWidget2) self.setWindowTitle('Drag and Drop Example') self.setLayout(self.myLayout)
def __init__(self): super(stackedExample, self).__init__() self.leftList = QListWidget() self.leftList.insertItem(0, 'Contact') self.leftList.insertItem(1, 'Personal') self.leftList.insertItem(2, 'Educational') self.stack_1 = QWidget() self.stack_2 = QWidget() self.stack_3 = QWidget() self.stack_1_UI() self.stack_2_UI() self.stack_3_UI() self.stack = QStackedWidget() self.stack.addWidget(self.stack_1) self.stack.addWidget(self.stack_2) self.stack.addWidget(self.stack_3) hbox = QHBoxLayout() hbox.addWidget(self.leftList) hbox.addWidget(self.stack) self.setLayout(hbox) self.leftList.currentRowChanged.connect(self.display) self.setGeometry(300, 50, 10, 10) self.setWindowTitle("Stack Widget Demo") self.show()
def createStack(self, layout='vertical'): self.stack_list = QListWidget() self.list_margin_size = 11 self.Stack = QStackedWidget(self) self.layout_type = layout if self.layout_type == 'horizontal': box = QHBoxLayout(self) self.list_margin_size = 18 self.stack_list.setStyleSheet( "margin-top: {size}px".format(size=self.list_margin_size)) else: box = QVBoxLayout(self) self.stack_list.setStyleSheet( "margin-left : {size}px; margin-right : {size2}px".format( size=self.list_margin_size, size2=self.list_margin_size + 1)) box.addWidget(self.stack_list) box.addWidget(self.Stack) box.setAlignment(self.stack_list, Qt.AlignTop) self.setLayout(box) self.stack_list.currentRowChanged.connect(self.display) self.tabs = {} self.num_tabs = 0 self.widgets = {}
def __init__(self, title, comm, topics, userWidget): super().__init__(title) self.setObjectName(title) self.comm = comm self.topics = topics splitter = QSplitter() self.fieldDataIndex = None plotLayout = QVBoxLayout() selectionLayout = QVBoxLayout() detailsLayout = QFormLayout() filterLayout = QHBoxLayout() w_left = QWidget() w_left.setLayout(plotLayout) splitter.addWidget(w_left) w_right = QWidget() w_right.setLayout(selectionLayout) splitter.addWidget(w_right) splitter.setCollapsible(0, False) splitter.setStretchFactor(0, 10) splitter.setStretchFactor(1, 0) selectionLayout.addLayout(detailsLayout) selectionLayout.addWidget(QLabel("Filter Data")) selectionLayout.addLayout(filterLayout) self.selectedActuatorIdLabel = QLabel("") self.selectedActuatorValueLabel = QLabel("") self.selectedActuatorWarningLabel = QLabel("") self.lastUpdatedLabel = TimeDeltaLabel() self.topicList = QListWidget() self.topicList.currentRowChanged.connect(self.currentTopicChanged) for topic in self.topics.topics: self.topicList.addItem(topic.name) self.fieldList = QListWidget() self.fieldList.currentRowChanged.connect(self.currentFieldChanged) plotLayout.addWidget(userWidget) detailsLayout.addRow(QLabel("Selected Actuator Details"), QLabel("")) detailsLayout.addRow(QLabel("Actuator Id"), self.selectedActuatorIdLabel) detailsLayout.addRow(QLabel("Actuator Value"), self.selectedActuatorValueLabel) detailsLayout.addRow(QLabel("Actuator Warning"), self.selectedActuatorWarningLabel) detailsLayout.addRow(QLabel("Last Updated"), self.lastUpdatedLabel) filterLayout.addWidget(self.topicList) filterLayout.addWidget(self.fieldList) self.topicList.setCurrentRow(0) self.setWidget(splitter)
def init_gui(self, parent): self.layout = QGridLayout() self.setLayout(self.layout) self.list = QListWidget(self) self.list.model().setSelectionMode(QAbstractItemView.ExtendedSelection) self.list.itemClicked.connect(self.selection_changed) self.layout.addWidget(self.list, 0, 0, 1, 2) self.notes = QPlainTextEdit(self) self.notes.textChanged.connect(self.notes_changed) self.layout.addWidget(self.notes, 1, 0) accept_btn = QPushButton(self) accept_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) accept_btn.setText(_("Accept")) accept_btn.clicked.connect(self.accept) self.layout.addWidget(accept_btn, 2, 0) cancel_btn = QPushButton(self) cancel_btn.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Fixed) cancel_btn.setText(_("Cancel")) cancel_btn.clicked.connect(self.reject) self.layout.addWidget(cancel_btn, 2, 1) dw = 200 dh = 200 px = parent.x() py = parent.y() pw = parent.width() ph = parent.height() w2 = int((pw - dw) / 2.0) h2 = int((ph - dh) / 2.0) frame_geometry = QRect(px + w2, py + h2, dw, dh) self.setGeometry(frame_geometry)
def __init__(self, parent=None): QWidget.__init__(self, parent) hlayout = QHBoxLayout() ##################################################### Left self.menu_level = 0 self.item_list = QListWidget() self.fill_main_item_list() #self.item_list.setMinimumWidth(256) self.item_list.setMaximumWidth(300) self.item_list.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.item_list.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) self.item_list.itemClicked[QListWidgetItem].connect(self.item_clicked) ##################################################### Right b = QTabWidget() b.addTab(QWidget(), "Primera") b.addTab(QWidget(), "Segunda") b.setMinimumWidth(768) #b.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) b.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred) hlayout.addWidget(self.item_list) hlayout.addWidget(b) self.setLayout(hlayout)
def __init__(self, parent=None): super(SelectMatchWindow, self).__init__(parent) self.parent = parent self.setModal(True) self.setWindowTitle("Mérkőzés választása") self.resize(600, 400) self.layout = QVBoxLayout() self.setLayout(self.layout) self.read_config() self.tournaments = QComboBox() self.tournaments.setModelColumn(0) self.tournaments.currentIndexChanged.connect(self.torna_valasztas) self.layout.addWidget(self.tournaments) self.merkozesek = QListWidget() self.merkozesek.setFixedHeight(300) self.merkozesek.setFixedWidth(500) self.merkozesek.itemDoubleClicked.connect(self.start_game) self.merkozesek.itemSelectionChanged.connect(self.start_game) self.layout.addWidget(self.merkozesek) self.buttonbox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttonbox.clicked.connect(self.buttonbox_click) self.layout.addWidget(self.buttonbox) self.load_torna()
def __init__(self, items): QDialog.__init__(self) self.setWindowTitle("Select Dataset") self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) self.setWindowModality(Qt.ApplicationModal) self.label = QLabel("Choose the dataset to load:") self.label.setStyleSheet("color: #000") self.view = QListWidget() for i in items: self.view.addItem(QListWidgetItem(i)) self.buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.buttons.accepted.connect(self._button_ok) self.buttons.rejected.connect(self._button_cancel) layout = QVBoxLayout() layout.setSizeConstraint(QLayout.SetFixedSize) layout.addWidget(self.label) layout.addWidget(self.view) layout.addWidget(self.buttons) self.setLayout(layout)
def __create_source_layout(self, side): sourceLayout = QVBoxLayout() selectedSourceFrame = QFrame() selectedSourceFrame.setFrameShape(QFrame.Box) selectedSourceFrame.setFrameShadow(QFrame.Raised) selectedSourceLayout = QGridLayout(selectedSourceFrame) sourceLabel = QLabel("Selected account: None") sourceLabel.setObjectName("SourceLabel{}".format(side)) selectedSourceLayout.addWidget(sourceLabel, 0, 0) changeSourceBtn = QPushButton("Change...") changeSourceBtn.clicked.connect(lambda: self.__account_select(side)) selectedSourceLayout.addWidget(changeSourceBtn, 0, 1) playlistLabel = QLabel("Selected playlist:") playlistLabel.setObjectName("PlaylistLabel{}".format(side)) playlistLabel.setDisabled(True) selectedSourceLayout.addWidget(playlistLabel, 1, 0) playlistSelect = QComboBox() playlistSelect.setDisabled(True) playlistSelect.setObjectName("Playlist{}".format(side)) playlistSelect.currentIndexChanged.connect( lambda: self.__playlist_select(side)) selectedSourceLayout.addWidget(playlistSelect, 1, 1) sourceLayout.addWidget(selectedSourceFrame) trackList = QListWidget() trackList.setObjectName("Tracklist{}".format(side)) trackList.currentItemChanged.connect(self.__track_select) sourceLayout.addWidget(trackList) return sourceLayout
def __init__(self): super(ClientWindow, self).__init__() self.resize(823,511) self.setWindowTitle('用户客户端') self.friendList = QListWidget() self.friendList.doubleClicked.connect(self.changeFriendText) self.friendList.clicked.connect(self.changeFriendText) self.portLine = QLineEdit() self.portLine.setText('12345') self.connectBtn = QPushButton('连接') self.connectBtn.clicked.connect(self.setupFun) self.messageText = QTextEdit() self.messageLine = QLineEdit() self.sendBtn = QPushButton('发送') self.sendBtn.clicked.connect(self.sendFun) self.text = '' self.userText = {} self.initUI() self.palette = QPalette() self.palette.setBrush(QPalette.Background, QBrush(QPixmap('./image/background.jpg'))) self.setPalette(self.palette) self.client = Client() self.client.trigger.connect(self.updateTextFun) self.ininData()
def genlistWidgetHighlightedRowSS(lw: QListWidget): ss = """ QListView { show-decoration-selected: 1; /* make the selection span the entire width of the view */ } QListView::item:alternate { background: #EEEEEE; } QListView::item:selected { border: 1px solid #6a6ea9; } QListView::item:selected:!active { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ABAFE5, stop: 1 #8588B2); } QListView::item:selected:active { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #6a6ea9, stop: 1 #888dd9); } QListView::item:hover { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #FAFBFE, stop: 1 #DCDEF1); } """ lw.setStyleSheet(ss)
def __init__(self, status_bar): super(SynthPdfWidget, self).__init__() self.status_bar = status_bar layout = QHBoxLayout() self.list_view = QListWidget() self.list_view.setSelectionMode(QAbstractItemView.ExtendedSelection) self.list_view.setAlternatingRowColors(True) self.list_view.itemClicked.connect(self.click_item_signal) self.list_view.itemEntered.connect(self.click_item_signal) self.list_view.itemSelectionChanged.connect( self.change_selection_signal) controls_layout = QVBoxLayout() controls_layout.setAlignment(Qt.AlignTop) select_zone = SelectWidget(self.click_move_up, self.click_move_down, self.click_invert, self.click_delete) select_zone.setMinimumWidth(250) add_pages_button = QPushButton("Add Pages From PDF") add_pages_button.clicked.connect(self.add_pdf) controls_layout.addWidget(select_zone) controls_layout.addWidget(add_pages_button) layout.addWidget(self.list_view) layout.addLayout(controls_layout) self.setLayout(layout)
def __init__(self, parent=None): super().__init__(parent) self.characters_widget = QListWidget() self.supports_widget = QListWidget() self.add_button = QPushButton(text="Add") self.remove_button = QPushButton(text="Remove") self.add_remove_layout = QHBoxLayout() self.add_remove_layout.addWidget(self.add_button) self.add_remove_layout.addWidget(self.remove_button) self.add_remove_layout.setAlignment(QtGui.Qt.AlignCenter) self.selection_layout = QVBoxLayout() self.selection_layout.addWidget(self.characters_widget) self.selection_layout.addLayout(self.add_remove_layout) self.selection_layout.addWidget(self.supports_widget) self.support_type_box = QComboBox() self.support_type_box.addItems( ["Romantic", "Platonic", "Fast Romantic", "Fast Platonic"]) self.edit_conversation_button = QPushButton(text="Edit Conversation") self.bottom_layout = QHBoxLayout() self.bottom_layout.setAlignment(QtGui.Qt.AlignCenter) self.bottom_layout.addWidget(QLabel("Support Type")) self.bottom_layout.addWidget(self.support_type_box) self.bottom_layout.addWidget(self.edit_conversation_button) self.selection_layout.addLayout(self.bottom_layout) self.setLayout(self.selection_layout)
def _layout( self ) -> Tuple[QGridLayout, QComboBox, QLabel, QLabel, QListWidget]: layout = QGridLayout() layout.setContentsMargins(0, 0, 0, 0) page_label = QLabel('Page:') page_label.setFixedWidth(40) layout.addWidget(page_label, 0, 0) # Page select dropdown page_select = QComboBox() page_select.currentTextChanged.connect(self._on_page_changed) page_select.setFixedWidth(60) layout.addWidget(page_select, 0, 1) # Query results and image label query_label = QLabel('Query:') layout.addWidget(query_label, 0, 2) viewing_label = QLabel('Viewing:') layout.addWidget(viewing_label, 0, 3) # Gallery gallery = QListWidget() gallery.setFlow(QListWidget.LeftToRight) gallery.setWrapping(False) gallery.setViewMode(QListWidget.IconMode) gallery.setIconSize(QSize(self.thumbnail_width, self.thumbnail_height)) gallery.currentItemChanged.connect(self._on_item_changed) layout.addWidget(gallery, 1, 0, 1, 4) return layout, page_select, query_label, viewing_label, gallery
def __init__(self): super().__init__() self.setWindowTitle("Not connected") # Initialize widgets self.server_address = QLineEdit("0.0.0.0:8888") self.server_address.setInputMask('000.000.000.000:0000') self.user_name = QLineEdit() self.user_name.setPlaceholderText("Username") self.connect_button = QPushButton("Connect") self.send_button = QPushButton("Send") self.message_list = QListWidget() self.message_box = QLineEdit() self.connect_button.clicked.connect(self.connect_to_server) # Setting layout self.layout = QVBoxLayout() self.layout.addWidget(self.server_address) self.layout.addWidget(self.user_name) self.layout.addWidget(self.connect_button) self.layout.addWidget(QLabel("Messages:")) self.layout.addWidget(self.message_list) self.layout.addWidget(QLabel("Say:")) self.layout.addWidget(self.message_box) self.layout.addWidget(self.send_button) widget = QWidget() widget.setLayout(self.layout) self.setCentralWidget(widget) self.setIcon()
def __init__(self, hiddenLifeline, parent=None): super(HiddenDialog, self).__init__(parent) self.lifelines = hiddenLifeline layout = QVBoxLayout(self) listTitle = QLabel('Hidden Life-lines') layout.addWidget(listTitle) self.listHiddenLifelines = QListWidget() self.listHiddenLifelines.setFixedWidth(400) self.listHiddenLifelines.setSelectionMode( QAbstractItemView.MultiSelection) for text in self.lifelines: item = QtGui.QListWidgetItem(text) self.listHiddenLifelines.addItem(item) layout.addWidget(self.listHiddenLifelines) buttons = QtGui.QDialogButtonBox( QtGui.QDialogButtonBox.Ok | QtGui.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)
def __init__(self, parent=None): super(MatchStatWindow, self).__init__(parent) self.setModal(True) self.setWindowTitle("Mérkőzés választása") self.resize(740, 600) self.layout = QVBoxLayout() self.setLayout(self.layout) self.merkozesek = QListWidget() self.merkozesek.setFixedHeight(200) self.merkozesek.setFixedWidth(730) self.merkozesek.itemDoubleClicked.connect(self.stat_game) self.layout.addWidget(self.merkozesek) self.szumma = MatchSumWidget(self) self.layout.addWidget(self.szumma) self.history = QWidget() self.history.setFixedWidth(690) self.history_layout = QGridLayout() self.history.setLayout(self.history_layout) scroll = QScrollArea() scroll.setWidget(self.history) scroll.setWidgetResizable(True) self.layout.addWidget(scroll) self.match_valasztas()
def __init__(self, parent=None): QWidget.__init__(self, None) self.layout = QGridLayout() self.label = QLabel("Files selected:") self.layout.addWidget(self.label, 0, 0, 1, 4) self.file_list = QListWidget() self.select_all = QListWidgetItem("(De)select all") self.select_all.setFlags(self.select_all.flags() | Qt.ItemIsUserCheckable) self.select_all.setCheckState(Qt.Unchecked) self.file_list.addItem(self.select_all) self.layout.addWidget(self.file_list, 1, 0, 1, 4) self.layout.addWidget(QLabel("First line:"), 2, 0) self.first_line = QLineEdit("", self) self.first_line.setValidator(QIntValidator(1, 100000)) self.layout.addWidget(self.first_line, 2, 1) self.layout.addWidget(QLabel("Last line:"), 2, 2) self.last_line = QLineEdit("", self) self.last_line.setValidator(QIntValidator(1, 100000)) self.layout.addWidget(self.last_line, 2, 3) self.convert_button = QPushButton("EXPORT") self.convert_button.clicked.connect(parent.on_convert) self.convert_button.setStyleSheet("background-color: green") self.layout.addWidget(self.convert_button, 3, 0, 1, 4) self.setLayout(self.layout) self.list_items = {} self.file_list.itemChanged.connect(self.on_item_changed)
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 add_fields_to_component(component: Group, fields_widget: QListWidget, component_model: NexusTreeModel = None): """ Adds fields from a list widget to a component. :param component: Component to add the field to. :param fields_widget: The field list widget to extract field information such the name and value of each field. """ for i in range(fields_widget.count()): widget = fields_widget.itemWidget(fields_widget.item(i)) try: if not isinstance(widget.value, (Link, Dataset)): stream_module = deepcopy(widget.value) stream_module.parent_node = component component.children.append(stream_module) else: component[widget.name] = widget.value except ValueError as error: show_warning_dialog( f"Warning: field {widget.name} not added", title="Field invalid", additional_info=str(error), parent=fields_widget.parent().parent(), ) if component_model and component_model.current_nxs_obj[1]: row = component_model.rowCount(component_model.current_nxs_obj[1]) component_model.createIndex(row, 0, component_model.current_nxs_obj[1])
class LoadZeroPointView(QDialog): def __init__(self, zeroPointManager: ZeroPointManager): super().__init__() self.setWindowTitle("Load Zero Point") self._zeroPointManager = zeroPointManager self._listWidget = QListWidget() for zeroPoint in self._zeroPointManager.getZeroPoints(): listItem = QListWidgetItem( f"{zeroPoint.name} : {zeroPoint.offset}") self._listWidget.addItem(listItem) buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) buttonBox.accepted.connect(self.setZeroPoint) buttonBox.rejected.connect(self.reject) layout = QFormLayout() layout.addRow(self._listWidget) layout.addRow(buttonBox) self.setLayout(layout) def setZeroPoint(self): index = self._listWidget.indexFromItem( self._listWidget.selectedItems()[0]).row() self._zeroPointManager.setNewActiveZeroPoint(index) self.close()
def create_ui(self): fields_label = QLabel(_("Class fields"), self) self.layout.addWidget(fields_label, 0, 0) self._fields_tree = QTreeWidget(self) fields_label.setBuddy(self._fields_tree) self._fields_tree.currentItemChanged.connect( self.on_fields_tree_sel_changed) self.layout.addWidget(self._fields_tree, 1, 0) operator_label = QLabel(_("Operator"), self) self.layout.addWidget(operator_label, 0, 1) self._operator = QListWidget(self) operator_label.setBuddy(self._operator) self.layout.addWidget(self._operator, 1, 1) self._operator.currentRowChanged.connect(self.on_operator_choice) self._operator.setCurrentRow(0) add_button = QPushButton(_("&Add condition"), self) add_button.clicked.connect(self.on_add_clicked) self.layout.addWidget(add_button, 2, 0, 1, 3) criteria_label = QLabel(_("Current search criteria"), self) self.layout.addWidget(criteria_label, 3, 0, 1, 3) self._criteria_list = QListWidget(self) criteria_label.setBuddy(self._criteria_list) self.layout.addWidget(self._criteria_list, 4, 0, 1, 3) remove_button = QPushButton(_("&Remove condition"), self) remove_button.clicked.connect(self.on_remove_clicked) self.layout.addWidget(remove_button, 5, 0, 1, 3) distance_label = QLabel(_("Search objects to distance"), self) self.layout.addWidget(distance_label, 6, 0) self._distance_field = QSpinBox(self) self._distance_field.setMaximum(100000) self._distance_field.setSuffix(" " + _("meters")) self._distance_field.setSpecialValueText(_("No limit")) distance_label.setBuddy(self._distance_field) self.layout.addWidget(self._distance_field, 6, 1)
def __init__(self, delegate, document, subject, powermode=False): self.templateManager = TrackTemplateManager(document, subject) self.delegate = delegate self.powermode = powermode Observation.__init__(self, subject) QListWidget.__init__(self) self.setStyleSheet(Theme.browser.style) self.templateEditor = TrackEditor(self.subject, self.powermode, True) self.templateEditor.onTemplateUpdate = self.onTemplateUpdate self.setFrameStyle(QFrame.NoFrame | QFrame.Plain) self.setHorizontalScrollBar(ScrollBar()) self.setVerticalScrollBar(ScrollBar()) self._initActions() [self.addTemplate(t) for t in self.templateManager.templates] self.add_responder(events.track.TrackTemplateSaved, self.trackTemplateSavedResponder) self.itemSelectionChanged.connect(self.onSelectionChanged) self.currentItemChanged.connect(self.onCurrentItemChanged) self.itemDoubleClicked.connect(self.onItemDoubleClicked)
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)
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)