示例#1
0
    def __init__(self):
        super(Dialog, self).__init__()

        self.createMenu()
        self.createSidebar()
        # self.createHorizontalGroupBox()
        # self.createGridGroupBox()
        # self.createFormGroupBox()

        bigEditor = QTextEdit()
        bigEditor.setPlainText("This widget takes up all the remaining space "
                "in the top-level layout.")

        # buttonBox = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)

        # buttonBox.accepted.connect(self.accept)
        # buttonBox.rejected.connect(self.reject)

        
        mainLayout = QHBoxLayout()
        mainLayout.setMenuBar(self.menuBar)
        mainLayout.addWidget(self.sidebar)
        # mainLayout.addWidget(self.horizontalGroupBox)
        # mainLayout.addWidget(self.gridGroupBox)
        # mainLayout.addWidget(self.formGroupBox)
        mainLayout.addWidget(bigEditor)
        # mainLayout.addWidget(buttonBox)
        self.setLayout(mainLayout)

        self.setWindowTitle("Basic Layouts")
示例#2
0
    def __init__(self):
        super(Dialog, self).__init__()

        self.createMenu()
        self.createInputGroupBox()
        self.createParameterGroupBox()
        self.createLogGroupBox()
        self.createTabGroupBox()

        mainLayout = QHBoxLayout()        
        mainLayout.setMenuBar(self.menuBar)
        LeftLayout = QVBoxLayout()

        LeftLayout.addWidget(self.processGroupBox)
        LeftLayout.addWidget(self.formGroupBox)        
        LeftLayout.addWidget(self.logGroupBox)
        
        LeftLayout.setStretch(1,5)
        
        mainLayout.addLayout(LeftLayout)        
        mainLayout.addWidget(self.tabs)
        self.setLayout(mainLayout)

        self.setWindowTitle("Style Transfer")
示例#3
0
文件: main.py 项目: OGKG/CGApp
class Main(QWidget):

    def __init__(self):
        super().__init__()
        self.menuBar = QMenuBar(self)
        methodMenu = self.menuBar.addMenu('Метод')
        
        kdTreeAction = QAction('k-D дерева', self)
        jarvisAction = QAction('Джарвіса', self)
        grahamAction = QAction('Грехема', self)
        quickhullAction = QAction('Швидкобол', self)
        kdTreeAction.triggered.connect(self.startKdTreeAction)
        jarvisAction.triggered.connect(self.startJarvisAction)
        grahamAction.triggered.connect(self.startGrahamAction)
        quickhullAction.triggered.connect(self.startQuickhullAction)

        methodActions = [
            kdTreeAction,
            jarvisAction,
            grahamAction,
            quickhullAction
        ]
        methodMenu.addActions(methodActions)

        self.mainLayout = QHBoxLayout()
        self.layouts = [
            KdTreeLayout(KdTreePointListModel()),
            JarvisLayout(PointListModel()),
            GrahamLayout(PointListModel()),
            QuickhullLayout(PointListModel())
        ]
        self.mainLayout.setMenuBar(self.menuBar)
        self.layoutWidgets = []
        for l in self.layouts:
            w = QWidget()
            w.setLayout(l)
            self.layoutWidgets.append(w)
            self.mainLayout.addWidget(w)

        self.setLayout(self.mainLayout)
        self.startKdTreeAction()

    def startKdTreeAction(self):
        self.layoutWidgets[0].setVisible(True)
        self.layoutWidgets[1].setVisible(False)
        self.layoutWidgets[2].setVisible(False)
        self.layoutWidgets[3].setVisible(False)
        
    def startJarvisAction(self):
        self.layoutWidgets[0].setVisible(False)
        self.layoutWidgets[1].setVisible(True)
        self.layoutWidgets[2].setVisible(False)
        self.layoutWidgets[3].setVisible(False)

    def startGrahamAction(self):
        self.layoutWidgets[0].setVisible(False)
        self.layoutWidgets[1].setVisible(False)
        self.layoutWidgets[2].setVisible(True)
        self.layoutWidgets[3].setVisible(False)

    def startQuickhullAction(self):
        self.layoutWidgets[0].setVisible(False)
        self.layoutWidgets[1].setVisible(False)
        self.layoutWidgets[2].setVisible(False)
        self.layoutWidgets[3].setVisible(True)
示例#4
0
    def __init__(self, parent, engines):
        super(QWidget, self).__init__(parent)

        self.board = chess.Board()

        self.engines = engines
        self.current_engine = engines[0]

        engine_back_btn = QPushButton("<")
        engine_back_btn.clicked.connect(self.back_btn_click)
        engine_fwd_btn = QPushButton(">")
        engine_fwd_btn.clicked.connect(self.fwd_btn_click)

        engine_move_layout = QHBoxLayout()
        engine_move_layout.addWidget(engine_back_btn)
        engine_move_layout.addWidget(engine_fwd_btn)

        self.engine_list = QListWidget()
        self.engine_list.clicked.connect(self.engine_list_click)
        for i, engine in enumerate(engines):
            self.engine_list.insertItem(i, engine.id['name'])

        self.engine_move_info = QPlainTextEdit()

        engine_options_layout = QVBoxLayout()
        engine_options_layout.addWidget(self.engine_list)
        engine_options_layout.addWidget(self.engine_move_info)

        engine_layout = QVBoxLayout()
        engine_layout.addLayout(engine_options_layout)
        engine_layout.addLayout(engine_move_layout)

        pgn_load_btn = QPushButton("Load")
        pgn_load_btn.clicked.connect(self.pgn_load_btn_click)
        pgn_save_btn = QPushButton("Save")
        pgn_save_btn.clicked.connect(self.pgn_save_btn_click)

        # SVG display for board
        self.svg_widget = QSvgWidget()

        # textbox for entering move
        self.move_input = QLineEdit()
        self.move_input.setText("Enter move here.")
        self.move_input.returnPressed.connect(self.move_push)

        # push move button
        player_move_btn = QPushButton("Move")
        player_move_btn.clicked.connect(self.move_push)

        player_move_layout = QHBoxLayout()
        player_move_layout.addWidget(self.move_input)
        player_move_layout.addWidget(player_move_btn)

        board_layout = QVBoxLayout()
        board_layout.addWidget(self.svg_widget)
        board_layout.addLayout(player_move_layout)

        menu_bar = QMenuBar()
        file_menu = menu_bar.addMenu("File")
        load_pgn_action = file_menu.addAction("Load PGN")
        load_pgn_action.triggered.connect(self.pgn_load_btn_click)
        save_pgn_action = file_menu.addAction("Save PGN")
        save_pgn_action.triggered.connect(self.pgn_save_btn_click)
        file_menu.addSeparator()
        load_model_action = file_menu.addAction("Load Model")
        load_model_action.triggered.connect(self.load_model_click)

        main_layout = QHBoxLayout()
        main_layout.setMenuBar(menu_bar)
        main_layout.addLayout(board_layout)
        main_layout.addLayout(engine_layout)

        self.setLayout(main_layout)
        self.paint_board()
    def init_components(self):
        """initializes all components and sets up the layout"""
        internalWidgetInput = QWidget()
        internalWidgetTree = QWidget()

        ############ define components ####################
        self.subredditInput = QComboBox()
        self.subredditInput.setEditable(True)
        self.subredditInput.addItems(self.get_downloaded_subreddits())

        self.numInput = QLineEdit()
        self.onlyInt = QIntValidator()
        self.numInput.setValidator(self.onlyInt)
        subredditLabel = QLabel('subreddit')
        numLabel = QLabel('number of images')
        self.dirLabel = QLabel('choose a directory')
        scale_label = QLabel("Scale images?")
        self.imgView = QLabel()

        self.outputText = QTextEdit('')
        self.outputText.setReadOnly(True)

        self.scale_cb = QCheckBox()

        self.sortingCb = QComboBox()
        self.sortingCb.addItems([
            "Hot", "Top all time", "Top this month", "Top past year", "New",
            "Controversial"
        ])
        sortingLabel = QLabel('sorting method')
        self.runButton = QPushButton('Download')
        self.runButton.setIcon(self.download_icon)
        self.chooseDirButton = QPushButton('Save dir')
        self.stopButton = QPushButton('Stop')
        self.stopButton.setIcon(self.stop_icon)

        self.fileModel = QFileSystemModel()
        self.tree = QTreeView()

        self.tree.setModel(self.fileModel)
        self.tree.setColumnHidden(1, True)
        self.tree.setColumnHidden(2, True)
        self.tree.setColumnHidden(3, True)

        ############## Menu stuff ###################
        menu_bar = QMenuBar()
        file_menu = menu_bar.addMenu('File')
        help_menu = menu_bar.addMenu('Help')

        self.exit_action = QAction('Exit', self)

        file_menu.addAction(self.exit_action)
        self.help_action = QAction('Help', self)
        help_menu.addAction(self.help_action)
        menu_bar.setFixedHeight(30)

        ############# Setup the grid layout###############################
        grid = QGridLayout()
        # grid.addWidget(menu_bar, 1, 0, 1, 4)
        grid.setSpacing(4)
        grid.addWidget(subredditLabel, 1, 0)
        grid.addWidget(self.subredditInput, 1, 1)
        grid.addWidget(numLabel, 2, 0)
        grid.addWidget(self.numInput, 2, 1)
        grid.addWidget(sortingLabel, 3, 0)
        grid.addWidget(self.sortingCb, 3, 1)

        grid.addWidget(self.chooseDirButton, 4, 0)
        grid.addWidget(self.dirLabel, 4, 1)
        grid.addWidget(self.stopButton, 5, 0)
        grid.addWidget(self.runButton, 5, 1)
        grid.addWidget(self.outputText, 7, 0, 7, 2)
        # grid.addWidget(self.tree,1,2, 11,7)

        grid.addWidget(scale_label, 6, 0)
        grid.addWidget(self.scale_cb, 6, 1)

        hboxTree = QVBoxLayout()
        hboxTree.addWidget(self.tree)

        #the image viewer, setting how it behaves under resizing.
        self.imgView.setSizePolicy(
            QSizePolicy(QSizePolicy.MinimumExpanding,
                        QSizePolicy.MinimumExpanding))
        self.imgView.setMaximumHeight(MAX_IMAGE_HEIGHT)

        self.imgView.setAlignment(Qt.AlignmentFlag.AlignCenter)

        img_scroll_area = QScrollArea()
        img_scroll_area.setMinimumHeight(MAX_IMAGE_HEIGHT)
        img_scroll_area.setMinimumWidth(MAX_IMAGE_HEIGHT)
        img_scroll_area.setWidget(self.imgView)

        internalWidgetInput.setLayout(grid)
        # internalWidgetInput.setMinimumWidth(300)
        internalWidgetInput.setFixedWidth(300)
        internalWidgetInput.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding))

        internalWidgetTree.setLayout(hboxTree)
        internalWidgetTree.setFixedWidth(360)
        internalWidgetTree.setSizePolicy(
            QSizePolicy(QSizePolicy.Fixed, QSizePolicy.MinimumExpanding))

        #construct layout of main window.
        hbox = QHBoxLayout()
        hbox.setSpacing(0)
        hbox.setContentsMargins(0, 0, 0, 0)
        hbox.setMenuBar(menu_bar)
        hbox.addWidget(internalWidgetInput)
        hbox.addWidget(internalWidgetTree)
        hbox.addWidget(img_scroll_area)
        self.setLayout(hbox)