コード例 #1
0
    def initUI(self):
        # File menu bar
        self.setWindowIcon(QIcon('Icons/Icon.jpg'))

        setSavePath = QAction(QIcon('Icons/SaveIn.jpg'), 'Save in', self)
        setSavePath.setShortcut('Ctrl+F')
        setSavePath.setStatusTip('Save in the folder')
        setSavePath.triggered.connect(self.showDialog)

        openBrowser = QAction(QIcon('Icons/openBrowser.jpg'), 'Open in browser', self)
        openBrowser.setShortcut('Ctrl+B')
        openBrowser.setStatusTip('Open this image in browser')
        openBrowser.triggered.connect(self.openInBrowser)

        savePostsToday = QAction(QIcon('Icons/24Hrs.jpg'), 'Save images posted today', self)
        savePostsToday.setShortcut('Ctrl+S')
        savePostsToday.setStatusTip('Save images posted in 24 hours')
        savePostsToday.triggered.connect(self.go_through_all_new_posted_pages)

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&Setting')
        fileMenu.addAction(setSavePath)
        fileMenu.addAction(openBrowser)
        fileMenu.addAction(savePostsToday)
        # buttons
        butList = QHBoxLayout(self)
        
        self.startBut = QPushButton(self)
        self.startBut.setGeometry(375, 560, 150, 30)
        self.startBut.setText('Start Downloading')
        butList.addWidget(self.startBut)
        self.startBut.clicked.connect(self.downloadPic)

        self.leftBut = QPushButton(self)
        self.leftBut.setGeometry(175, 560, 150, 30)
        self.leftBut.setText('Prev Image')
        butList.addWidget(self.leftBut)
        self.leftBut.clicked.connect(self.prevImage)

        self.rightBut = QPushButton(self)
        self.rightBut.setGeometry(575, 560, 150, 30)
        self.rightBut.setText('Next Image')
        butList.addWidget(self.rightBut)
        self.rightBut.clicked.connect(self.nextImage)
        
        self.slider = QSlider(QtCore.Qt.Horizontal, self)
        self.slider.setValue(50)
        self.slider.setGeometry(300, 20, 300, 30)
        self.slider.valueChanged[int].connect(self.changeScale)

        self.r18mode = QCheckBox('R18 Mode', self)
        self.r18mode.setGeometry(700, 20, 100, 30)
        # self.r18mode.toggle()
        self.r18mode.stateChanged.connect(self.checkR18Mode)
        # image viewer
        hBox = QHBoxLayout(self)
        
        if self.img_infos and len(self.img_infos) > 0:
            img_url = self.img_infos[self.current_index]['url']
        else:
            img_url = 'https://files.yande.re/image/41dd5cedf9494fc4e0c9a9c48f7e0881/yande.re%20505979%20animal_ears%20japanese_clothes%20mugenkidou%20no_bra%20open_shirt%20possible_duplicate%20thighhighs%20tomose_shunsaku.jpg'

        self.readImageFromUrl(img_url)
        img = self.img.scaled(890, 500, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
        
        self.container = QLabel(self)
        self.container.setAlignment(QtCore.Qt.AlignCenter)
        self.container.setPixmap(img)
        self.container.setGeometry(5, 50, 890, 500)
        # self.container.setScaledContents(True)

        hBox.addWidget(self.container)
        # self.setLayout(hBox)
        
        vBox = QVBoxLayout(self)
        vBox.addChildLayout(hBox)
        vBox.addStretch()
        vBox.addChildLayout(butList)
        self.setLayout(vBox)
        self.setGeometry(300, 300, 900, 600)
        self.setWindowTitle('YandereViewer')
        self.show()