当前位置: 首页>>代码示例>>Python>>正文


Python QGraphicsScene.addPixmap方法代码示例

本文整理汇总了Python中PyQt5.QtWidgets.QGraphicsScene.addPixmap方法的典型用法代码示例。如果您正苦于以下问题:Python QGraphicsScene.addPixmap方法的具体用法?Python QGraphicsScene.addPixmap怎么用?Python QGraphicsScene.addPixmap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PyQt5.QtWidgets.QGraphicsScene的用法示例。


在下文中一共展示了QGraphicsScene.addPixmap方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: on_imagesTree_currentItemChanged

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
 def on_imagesTree_currentItemChanged(self, current, previous):
     """
     Private slot to show a preview of the selected image.
     
     @param current current image entry (QTreeWidgetItem)
     @param previous old current entry (QTreeWidgetItem)
     """
     if current is None:
         return
     
     imageUrl = QUrl(current.text(1))
     if not imageUrl.host():
         imageUrl.setHost(QUrl(self.siteAddressLabel.text()).host())
         imageUrl.setScheme(QUrl(self.siteAddressLabel.text()).scheme())
     
     import Helpviewer.HelpWindow
     cache = Helpviewer.HelpWindow.HelpWindow.networkAccessManager().cache()
     if cache:
         cacheData = cache.data(imageUrl)
     else:
         cacheData = None
     pixmap = QPixmap()
     invalidPixmap = False
     scene = QGraphicsScene(self.imagePreview)
     if not cacheData:
         invalidPixmap = True
     else:
         pixmap.loadFromData(cacheData.readAll())
         if pixmap.isNull():
             invalidPixmap = True
     if invalidPixmap:
         scene.addText(self.tr("Preview not available."))
     else:
         scene.addPixmap(pixmap)
     self.imagePreview.setScene(scene)
开发者ID:testmana2,项目名称:test,代码行数:37,代码来源:SiteInfoDialog.py

示例2: SampleImageWidget

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
class SampleImageWidget(QWidget):

  def __init__(self, parent=None):

    super(SampleImageWidget, self).__init__(parent)

    self.graphicsScene = QGraphicsScene(self)
    self.graphicsView = SampleGraphicsView(self.graphicsScene)

  def setSampleImage(self, pathToFile):

    self.graphicsView.hide()

    #clear scene
    self.graphicsScene.clear()

    #load file
    tmpImage = QImage(pathToFile)
    self.originalHeight = tmpImage.height()
    self.originalWidth = tmpImage.width()
    tmpPixmap = QPixmap(1)
    tmpPixmap.convertFromImage(tmpImage.scaledToWidth(300))
    self.scaledHeight = tmpPixmap.height()
    self.scaledWidth = tmpPixmap.width()

    #add to scene and show
    self.graphicsScene.addPixmap(tmpPixmap)
    self.graphicsView.show()
开发者ID:jcupitt,项目名称:rode-rti-builder-python,代码行数:30,代码来源:rti_builder_gui.py

示例3: showogrenci

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
    def showogrenci(self):
        try:
            ogrenci = OgrenciGoster(self.parent)
            self.parent.mdi.addSubWindow(ogrenci)
            ogrenci.show()
            data = self.sender().data

            ogrenci.ad.setText(data[1])
            ogrenci.soyad.setText(data[2])
            ogrenci.anneadi.setText(data[4])
            ogrenci.babaadi.setText(data[5])

            gp = QGraphicsScene(self)
            ogrenci.graphicsView.setScene(gp)
            ogrenci.graphicsView.setFixedHeight(100)
            ogrenci.graphicsView.setFixedWidth(100)
            if data[8] is not None:
                gp.addPixmap(QPixmap("db/%s" % data[8]))
                ogrenci.graphicsView.show()

            nots = self.parent.db.getNot(data[0])
            ogrenci.tableWidget.setRowCount(len(nots))
            ogrenci.tableWidget.setColumnCount(1)
            ogrenci.tableWidget.setHorizontalHeaderLabels(["Notlar"])
            z = 0
            for i in nots:

                ogrenci.tableWidget.setItem(z,0,QTableWidgetItem(i[2]))
                z +=1

        except Exception as e:
            print(e)
开发者ID:myontars,项目名称:okulodev,代码行数:34,代码来源:OgrenciListesi.py

示例4: __init__

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
 def __init__(self, conf, defeat):
     self.config = conf
     super().__init__()
     self.setWindowTitle(conf.get_text('victory'))
     self.setFixedSize(QSize(640, 480))
     self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.WindowTitleHint | Qt.FramelessWindowHint)
     button = QPushButton(conf.get_text('close'), self)
     button.setCheckable(True)
     button.setFixedSize(QSize(640, 30))
     button.move(0, 450)
     # noinspection PyUnresolvedReferences
     button.clicked.connect(self.close)
     result_output = QTextEdit(self)
     result_output.setReadOnly(True)
     result_output.setFixedSize(QSize(640, 200))
     result_output.move(0, 250)
     result_output.setLineWrapMode(QTextEdit.NoWrap)
     result_output.insertHtml(self.generate_result_text())
     gview = QGraphicsView(self)
     scene = QGraphicsScene()
     if defeat:
         img = conf.theme_selected.get_defeat_pixmap()
         text = conf.get_text('defeat')
     else:
         img = conf.theme_selected.get_victory_pixmap()
         text = conf.get_text('victory')
     scene.addPixmap(img.scaled(QSize(640, 220)))
     gview.move(0, 30)
     gview.setScene(scene)
     label_title = QLabel(self)
     label_title.setText(text)
     label_title.setFixedSize(QSize(640, 30))
     label_title.setAlignment(Qt.AlignCenter)
     label_title.setFont(self.get_font_title())
开发者ID:Trilarion,项目名称:imperialism-remake,代码行数:36,代码来源:landBattleResultView.py

示例5: __init__

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
    def __init__(self, parent, bank_name, required_input):
        DialogContainer.__init__(self, parent)

        self.required_input = required_input

        uic.loadUi(get_ui_file_path('iom_input_dialog.ui'), self.dialog_widget)

        self.dialog_widget.cancel_button.clicked.connect(lambda: self.button_clicked.emit(0))
        self.dialog_widget.confirm_button.clicked.connect(lambda: self.button_clicked.emit(1))

        if 'error_text' in required_input:
            self.dialog_widget.error_text_label.setText(required_input['error_text'])
        else:
            self.dialog_widget.error_text_label.hide()

        if 'image' in required_input['additional_data']:
            qimg = QImage()
            qimg.loadFromData(b64decode(required_input['additional_data']['image']))
            image = QPixmap.fromImage(qimg)
            scene = QGraphicsScene(self.dialog_widget.img_graphics_view)
            scene.addPixmap(image)
            self.dialog_widget.img_graphics_view.setScene(scene)
        else:
            self.dialog_widget.img_graphics_view.hide()

        self.dialog_widget.iom_input_title_label.setText(bank_name)

        vlayout = QVBoxLayout()
        self.dialog_widget.user_input_container.setLayout(vlayout)

        self.input_widgets = {}

        for specific_input in self.required_input['required_fields']:
            label_widget = QLabel(self.dialog_widget.user_input_container)
            label_widget.setText(specific_input['text'] + ":")
            label_widget.show()
            vlayout.addWidget(label_widget)

            input_widget = QLineEdit(self.dialog_widget.user_input_container)
            input_widget.setPlaceholderText(specific_input['placeholder'])
            if specific_input['type'] == 'password':
                input_widget.setEchoMode(QLineEdit.Password)

            input_widget.show()
            vlayout.addWidget(input_widget)
            self.input_widgets[specific_input['name']] = input_widget

        self.dialog_widget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
        self.dialog_widget.adjustSize()

        self.on_main_window_resize()
开发者ID:Tribler,项目名称:tribler,代码行数:53,代码来源:iom_input_dialog.py

示例6: go

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
def go():
    global graphic_view, status_label
    data_parent, data_child = Pipe(duplex=False)
    receiver = Process(target=generate_data, args=(data_child,))
    receiver.daemon = True
    receiver.start()

    scene = QGraphicsScene()
    graphic_view.setScene(scene)
    scene.setSceneRect(0, 0, 1024, 1024)

    x_pos = 0
    y_pos = 0
    t = time.time()
    while True:
        speed = time.time()
        data = data_parent.recv()
        spectrogram = Spectrogram(data)
        pixmap = QPixmap.fromImage(spectrogram.create_spectrogram_image(transpose=True))

        scene.setSceneRect(scene.sceneRect().adjusted(0, 0, 0, pixmap.height()))
        item = scene.addPixmap(pixmap)
        item.setPos(x_pos, y_pos)
        y_pos += pixmap.height()
        graphic_view.fitInView(scene.sceneRect())
        status_label.setText("Height: {0:.0f} // Speed: {1:.2f}  // Total Time: {2:.2f}".format(scene.sceneRect().height(),
                                                                                                1/(time.time()-speed),
                                                                                                time.time()-t))
        QApplication.instance().processEvents()
开发者ID:jopohl,项目名称:urh,代码行数:31,代码来源:live_spectrogram.py

示例7: main

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
def main():

    app = QApplication(sys.argv)

    grview = QGraphicsView()
    scene = QGraphicsScene()
    scene.setSceneRect(0, 0, 680, 459)

    scene.addPixmap(QPixmap('../images/phototest.tif'))
    grview.setScene(scene)

    item = AreaItem(0, 0, 300, 150)
    item.areaColor = QColor(155, 155, 0, 75)
    scene.addItem(item)

    grview.fitInView(scene.sceneRect(), Qt.KeepAspectRatio)
    grview.show()
    sys.exit(app.exec_())
开发者ID:zdenop,项目名称:pyTesseractDemo,代码行数:20,代码来源:areaitem.py

示例8: getAll

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
    def getAll(self,filter={}):
        self.tableWidget.clear()
        try:
            data = self.parent.db.get(filter)
            self.tableWidget.setRowCount(len(data))
            self.tableWidget.setColumnCount(5)
            self.tableWidget.setHorizontalHeaderLabels(["Resim","Ad","Soyad","No"])


            iz = 0

            for i in data:
                ad = QTableWidgetItem(i[1])
                soyad = QTableWidgetItem(i[2])
                no = QTableWidgetItem(i[3])
                gp = QGraphicsScene(self)

                resim = QGraphicsView(gp)
                resim.setFixedHeight(100)
                resim.setFixedWidth(100)
                if i[8] is not None:
                    gp.addPixmap(QPixmap("db/%s" % i[8]))
                    resim.show()

                self.tableWidget.setCellWidget(iz,0,resim)

                btn = QPushButton(self)
                btn.setText("Göster")
                btn.data = i
                btn.clicked.connect(self.showogrenci)
                self.tableWidget.setItem(iz,1,ad)
                self.tableWidget.setItem(iz,2,soyad)
                self.tableWidget.setItem(iz,3,no)
                self.tableWidget.setCellWidget(iz,4,btn)
                self.tableWidget.setRowHeight(iz,100)


                iz +=1
        except Exception as e:
            print(e)
开发者ID:myontars,项目名称:okulodev,代码行数:42,代码来源:OgrenciListesi.py

示例9: start_beep

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
    def start_beep(self):

        drawbars = str(self.verticalSlider_1.value()) + \
                   str(self.verticalSlider_2.value()) + \
                   str(self.verticalSlider_3.value()) + \
                   str(self.verticalSlider_4.value()) + \
                   str(self.verticalSlider_5.value()) + \
                   str(self.verticalSlider_6.value()) + \
                   str(self.verticalSlider_7.value()) + \
                   str(self.verticalSlider_8.value()) + \
                   str(self.verticalSlider_9.value())

        duration = self.doubleSpinBox_1.value()

        tonic_number = (12 * self.spinBox.value() + self.tonic_combo)
        tonic_frequency = 2 ** (( tonic_number - 57) / 12) * self.doubleSpinBox_2.value()
        self.statusbar.showMessage(
            'Fundamental frequency: {0:.2f} Hz. Press Enter to synthesize next sound.'.format(tonic_frequency))

        if self.radioButton_2.isChecked():
            frequencies = [tonic_frequency * 2 ** (x / 12) for x in range(len(self.pushButtons))]
        else:
            frequencies = [tonic_frequency * x for x in
                           [1, 256 / 243, 9 / 8, 32 / 27, 81 / 64, 4 / 3, 1024 / 729, 729 / 512, 3 / 2, 128 / 81,
                            27 / 16, 16 / 9, 243 / 128]]

        for i in range(len(self.pushButtons)):
            if not self.pushButtons[i].isChecked():
                frequencies[i] = 0

        t, x = self.synth.make_chord(frequencies, drawbars, duration, self.checkBox.isChecked())

        self.synth.play(x)
        xbar, inst_ph = self.synth.make_analytical(x)
        filename = 'synth.png'
        self.synth.plot_hilbert(xbar, filename)

        scene = QGraphicsScene()
        scene.addPixmap(QPixmap(filename))
        self.graphicsView.setScene(scene)
开发者ID:xaratustrah,项目名称:orQanon,代码行数:42,代码来源:orQanon_mainWindow.py

示例10: visualize_data

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
def visualize_data(window, data_manager, search_results):
    # Scene where everything will be drawn
    scene = QGraphicsScene()

    reference_radiograph = data_manager.left_out_radiograph
    reference_image = reference_radiograph.image
    reference_teeth = data_manager.get_all_teeth_from_radiograph(reference_radiograph)

    # Draw reference image first
    qimg = toQImage(reference_image.astype(np.uint8))
    scene.addPixmap(QPixmap.fromImage(qimg))

    for tooth in reference_teeth:
        assert isinstance(tooth, Tooth)
        tooth.outline_pen = QPen(QColor.fromRgb(0, 0, 255))
        tooth.draw(scene)

    if search_results is not None:
        for tooth in search_results:
            assert isinstance(tooth, Tooth)
            tooth.draw(scene)

    window.set_scene(scene)
开发者ID:BetaRavener,项目名称:TeethCV,代码行数:25,代码来源:leaveoneout.py

示例11: Image_View

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
class Image_View(QGraphicsView):
    def __init__(self, centralwidget):
        super(Image_View, self).__init__(centralwidget)

        self.scene = QGraphicsScene()
        self.pixmap = QPixmap()
        self.painter = Painter()

        self.setup_ui()

    def setup_ui(self):
        # GraphicsItem
        self.scene.addPixmap(self.pixmap)
        self.scene.addItem(self.painter)

        self.setScene(self.scene)
        self.setCacheMode(QGraphicsView.CacheBackground)

    # defs from super class
    def keyPressEvent(self, event):
        key = event.key()
        if key == Qt.Key_R:
            self.painter.reset()
开发者ID:CaptainWilliam,项目名称:StrawHat,代码行数:25,代码来源:ui_1_random_lines.py

示例12: init

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
	def init(self):
		self.window = loadUi(os.path.join(get_ui_path(),"splash.ui"))
		self.window.setWindowFlags(Qt.FramelessWindowHint|Qt.WindowStaysOnTopHint)
		self.center()
		self.window.li.setText(notice()+"\n"+version())
		self.window.setModal(Qt.WindowModal)
		self.window.image.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)
		self.window.image.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

		window_h=self.window.height()
		window_w=self.window.width()
		r=random.randint(2, 3)
		image=QPixmap(os.path.join(get_image_file_path(),"splash"+str(r)+".png"))
		image.scaledToHeight(window_h)

		w=image.width()
		h=image.height()
		x_max=w-window_h-window_w/2

		hour=float(time.strftime("%H"))*60
		m=float(time.strftime("%m"))
		tot=hour+m
		my_max=float(24*60)

		value=tot/my_max

		xpos=int(x_max*value)+window_w/2
		print("xpos=",xpos)
		scene=QGraphicsScene();
		scene.setSceneRect(xpos, 0, 0, h)
		self.window.image.setScene(scene)

		self.window.show()

		scene.addPixmap(image);

		QTimer.singleShot(1500, self.callback_destroy)
开发者ID:roderickmackenzie,项目名称:gpvdm,代码行数:39,代码来源:splash.py

示例13: FilteringDialog

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]

#.........这里部分代码省略.........
            label = QLabel()
            slider.setRange(ranges[i][0], ranges[i][1])
            slider.setValue(values[i])
            slider.valueChanged.connect(self._slider_moved)
            layout = QHBoxLayout()
            layout.addWidget(slider)
            layout.addWidget(label)
            self.scrollAreaWidgetContents.layout().addLayout(layout)
            self.sliders.append(slider)
            self.labels.append(label)

        self._set_labels()
        self._redraw()

    def _sampling_level_changed(self, value):
        self.current_sampling_level = value - 1

        self.image = self.base_image
        scale = 1.0
        for i in range(0, self.current_sampling_level):
            self.image = MultiResolutionFramework.downsample_image(self.image)
            scale *= 2

        self.graphicsView.resetTransform()
        self.graphicsView.scale(scale, scale)
        self._redraw()

    def _slider_moved(self, value):
        self._set_labels()
        self._redraw()

    def _set_labels(self):
        for i, label in enumerate(self.labels):
            value = self.sliders[i].value()
            if i < 2:
                value = value * 2 + 1 if value >= 1 else 0
            label.setText(str(value))

    def _scharr_filter(self, img):
        grad_x = cv2.Scharr(img, cv2.CV_64F, 1, 0) / 16
        grad_y = cv2.Scharr(img, cv2.CV_64F, 0, 1) / 16
        grad = np.sqrt(grad_x ** 2 + grad_y ** 2)
        return grad

    def _perform_fft(self, img):
        f = np.fft.fft2(img)
        fshift = np.fft.fftshift(f)
        return fshift

    def _focus_view(self, size):
        if not self.fit_allowed:
            self.fit_allowed = True
            return
        rect = QRectF(0, 0, size[0], size[1])
        self.scene.setSceneRect(rect)

    def _redraw(self):
        self.scene.clear()
        img = self.image.copy()

        med_kernel = self.sliders[0].value() * 2 + 1
        bi_kernel = self.sliders[1].value() * 2 + 1
        bi_color = self.sliders[2].value()

        med = cv2.medianBlur(img, med_kernel) if med_kernel > 1 else img
        med_bi = cv2.bilateralFilter(med, bi_kernel, bi_color, 200) if bi_kernel > 1 else med

        fshift = self._perform_fft(med_bi)
        # scharr = np.array([[ -1/16-1/16j, 1/2-1/8j,  +1/16 -1/16j],
        #                    [-1/8+0j, 1/2+0j, +1/8 +0j],
        #                    [ -1/16+1/16j, 0+1/8j,  +1/16 +1/16j]]) # Gx + j*Gy
        # fshift = signal.convolve2d(fshift, scharr, boundary='symm', mode='same')

        if self.sliders[3].value() != 0:
            rows, cols = img.shape
            crow, ccol = rows / 2, cols / 2
            mask = np.zeros(fshift.shape)
            cv2.circle(mask, (ccol, crow), self.sliders[3].value(), 1, -1)
            cv2.circle(mask, (ccol, crow), self.sliders[4].value(), 0, -1)
            fshift *= mask

        f_ishift = np.fft.ifftshift(fshift)
        img_back = np.fft.ifft2(f_ishift)
        img_back = np.abs(img_back)

        grad_med_bi = self._scharr_filter(img_back)

        # img = (img / img.max()) * 255
        mag = 20 * np.log(np.abs(fshift))
        mag = (mag / mag.max()) * 255
        img_back = (img_back / img_back.max()) * 255
        grad_med_bi = (grad_med_bi / grad_med_bi.max()) * 255

        together = np.hstack(
            (img.astype(np.uint8), mag.astype(np.uint8), img_back.astype(np.uint8), grad_med_bi.astype(np.uint8)))
        cv2.imwrite("together.png", together)
        qimg = toQImage(together)
        self.scene.addPixmap(QPixmap.fromImage(qimg))

        self._focus_view((qimg.width(), qimg.height()))
开发者ID:BetaRavener,项目名称:TeethCV,代码行数:104,代码来源:filteringdialog.py

示例14: StaticPhotos

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]
class StaticPhotos(QGraphicsView):
    def __init__(self, photoBaseDir, validPhotoFileExts, photoDeltas, picChangeMs, parent=None):
        QGraphicsView.__init__(self, parent)
        self.setAlignment(Qt.AlignLeft | Qt.AlignTop)
        self.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) 
        self.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) 
        # Vars
        self.picChangeMs = picChangeMs
        self.photoBaseDir = photoBaseDir
        # Widget
        self.scene = QGraphicsScene()
        self.setScene(self.scene)
        self.setBackgroundBrush(QColor("black"))
        self.setLineWidth(0)
        self.setFrameShape(QtWidgets.QFrame.NoFrame)
        # Class vars
        self.picChgTimer = None
        self.photoFileManager = PhotoFileManager(validPhotoFileExts, self.photoBaseDir, 7200.00, photoDeltas)
        self.photoFileManager.startPhotoListUpdate()
        self.userMovedBack = False

    # def sizeHint(self):
    #     return QSize(600, 400)

    def resizeEvent(self, evt=None):
        xWindowSize = self.width()
        yWindowSize = self.height()
        pass

    def start(self):
        self.picChgTimer = QTimer()
        self.picChgTimer.setInterval(self.picChangeMs)
        self.picChgTimer.setSingleShot(True)
        self.picChgTimer.timeout.connect(self.picChangeFn)
        self.picChgTimer.start()
        # self.picChangeFn()
        print("Static Photos - starting")

    def stop(self):
        if self.picChgTimer is not None:
            self.picChgTimer.stop()
            print("Static Photos - stopping")
            # self.picChgTimer.disconnect(self.picChangeFn)
        self.photoFileManager.stop()

    def moveNext(self):
        self.nextPicItem()

    def movePrev(self):
        self.prevPicItem()
        self.userMovedBack = True

    def reshow(self):
        self.showImage()

    def getCurPhotoFilename(self):
        return self.photoFileManager.getCurPhotoFilename()

    def picChangeFn(self):
        # pass
        if self.userMovedBack:
            # Skip this update
            self.userMovedBack = False
        else:
            self.nextPicItem()
        self.picChgTimer.setInterval(self.picChangeMs)
        self.picChgTimer.start()

    def loadImage(self):
        self.newImg = QImage()
        self.newImg.load(self.photoFileManager.getCurPhotoFilename())
        self.newImgInfo = self.photoFileManager.getCurPhotoInfo()
        transform = QTransform()
        transform.rotate(self.newImgInfo.rotationAngle)
        self.interImg = self.newImg.transformed(transform, Qt.SmoothTransformation)
        # xReqdSize = self.cellSize.width() * xFactor + self.xBetweenPics * (xFactor-1)
        # yReqdSize = self.cellSize.height() * yFactor + self.yBetweenPics * (yFactor-1)
        self.inter2Img = self.interImg.scaled(QSize(self.width(),self.height()),
                                                    Qt.KeepAspectRatio, Qt.SmoothTransformation)
        # finalImg = interImg.copy(0,0,xReqdSize,yReqdSize)
        # print("XY Size", xFactor, yFactor, xReqdSize,yReqdSize)
        return self.inter2Img, self.newImgInfo

    def showImage(self):
        (newImg, newImgInfo) = self.loadImage()
        # return PicItem(Pixmap(QPixmap(newImg)), -1, -1, xFactor, yFactor, newImgInfo)
        self.scene.clear()
        imgSz = newImgInfo.imgSize
        self.setSceneRect(QRectF(0,0,imgSz.width(), imgSz.height()))
        pixMap = QPixmap.fromImage(newImg)
        # # pixMap.setWidth(self.width())
        pixMapItem = self.scene.addPixmap(pixMap)
        # pixMapItem.setPos(50,50)
        # self.fitInView(QRectF(0, 0, self.width(), self.height()), Qt.KeepAspectRatio)
        # Add caption
        caption = QGraphicsTextItem()
        caption.setDefaultTextColor(QColor(255,255,255))
        caption.setPos(0, self.height()*0.94)
        caption.setFont(QFont("Segoe UI", 30))
        caption.setTextWidth(self.width())
#.........这里部分代码省略.........
开发者ID:robdobsn,项目名称:KitchenProjectorCalPhotoApp,代码行数:103,代码来源:StaticPhotos.py

示例15: Widget

# 需要导入模块: from PyQt5.QtWidgets import QGraphicsScene [as 别名]
# 或者: from PyQt5.QtWidgets.QGraphicsScene import addPixmap [as 别名]

#.........这里部分代码省略.........
        mb = QMessageBox.information(
            self, "О программе",
            "Программа удаленного управления рабочим столом.\n\n"
            "Создатели:\n"
            "Алексей Абакумкин, ИУ7-72\n"
            "Роман Инфлянскас, ИУ7-71\n"
            "(c) 2014, Москва, МГТУ им. Н. Э. Баумана")

    def critical(self, msg, log=True):
        self.revert()
        QMessageBox.critical(self, "Ошибка", msg)
        if log:
            logging.error("{ip}\t{msg}\tОшибка".format(ip=self.client.ip, msg=msg))

    def send_incorrect_message(self):
        if self.connected:
            try:
                self.client.send_incorrect_message()
            except:
                # mb = QMessageBox.critical(self, "Ошибка", "Сервер перестал отвечать")
                self.critical("Сервер перестал отвечать")

    def refresh(self):
        self.serverList.clear()
        self.refreshLabel.setVisible(True)
        self.repaint()

        for x in self.client.refresh_server_list():
            self.serverList.addItem("{0}:{1}".format(x[0], x[1]))

        self.refreshLabel.setVisible(False)

    def connect(self):
        if self.connected:
            self.revert()
            self.client.disconnect()
            return

        try:
            login, login_ok = QInputDialog.getText(self, 'Логин', 'Введите логин:')
            if login_ok:
                passwd, password_ok = QInputDialog.getText(self, 'Пароль', 'Введите пароль:', 2)
                if password_ok:
                    server_item = self.serverList.currentItem()
                    try:
                        address = server_item.text().split(":")
                    except:
                        # server_item = self.serverList.findItems('', 0)[0]
                        self.serverList.setCurrentRow(0)
                        server_item = self.serverList.currentItem()
                        address = server_item.text().split(":")
                    if self.client.connect_to_server(address, login, passwd):
                        self.connectButton.setText("Отключиться")
                        self.connected = True
                    else:
                        self.critical("Неверный логин или пароль!", log=False)
                        # mb = QMessageBox.critical(self, "Ошибка", "Неверный логин или пароль!")

        except TimeoutError:
            self.critical("Сервер перестал отвечать")
            # mb = QMessageBox.critical(self, "Ошибка", "Сервер перестал отвечать")

    def revert(self):
        self._graphics_scene.clear()
        self.connectButton.setText("Присоединиться")
        self.connected = False

    def paintEvent(self, QPaintEvent):
        if self.connected:
            try:
                self.image_base_64 = self.client.recieve_screenshot()
            except TimeoutError:
                self.critical("Сервер перестал отвечать")
                # mb = QMessageBox.critical(self, "Ошибка", "Сервер перестал отвечать")
                return


            self.data = QByteArray.fromBase64(self.image_base_64)
            self.pm = QPixmap()
            self.pm.loadFromData(self.data, "PNG")

            self._graphics_scene.clear()
            self._graphics_scene.addPixmap(self.pm)
            self.update()

    def mouse_pressed(self, event):
        if self.connected:
            x = int(event.scenePos().x())
            y = int(event.scenePos().y())

            button = event.button()
            if button == 4:
                button = 3

            try:
                self.client.send_mouse_event(x, y, button)
            except:
                self.critical("Сервер перестал отвечать")
                # mb = QMessageBox.critical(self, "Ошибка", "Сервер перестал отвечать")
                self.revert()
开发者ID:iu7-2014,项目名称:networks,代码行数:104,代码来源:gui.py


注:本文中的PyQt5.QtWidgets.QGraphicsScene.addPixmap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。