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


Python QWidget.winId方法代码示例

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


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

示例1: __init__

# 需要导入模块: from PyQt5.QtWidgets import QWidget [as 别名]
# 或者: from PyQt5.QtWidgets.QWidget import winId [as 别名]
    def __init__(self):
        QMainWindow.__init__(self)
        self.src = self.queue = self.scale = self.sink = self.bus = self.pipeline = None
        container = QWidget(self)
        self.setCentralWidget(container)
        self.winId = container.winId()
        self.resize(800, 450)
        self.pipeline = Gst.Pipeline()

        # Create GStreamer elements
        self.src = Gst.ElementFactory.make('ximagesrc', None)
        self.src.set_property('startx', 0)
        # Hardcoded for the moment. Monitors on nvidia seems to be merge together into a huge one :/
        self.src.set_property('endx', 1920)
        self.src.set_property('use-damage', 0)
        self.queue = Gst.ElementFactory.make('queue', None)
        self.scale = Gst.ElementFactory.make('videoscale', None)
        self.sink = Gst.ElementFactory.make('ximagesink', None)

        # Add elements to the pipeline
        self.pipeline.add(self.src)
        self.pipeline.add(self.queue)
        self.pipeline.add(self.scale)
        self.pipeline.add(self.sink)

        # Link elements
        self.src.link(self.queue)
        self.queue.link(self.scale)
        self.scale.link(self.sink)
        # Create bus to get events from GStreamer pipeline
        self.bus = self.pipeline.get_bus()
        self.bus.add_signal_watch()
        self.bus.enable_sync_message_emission()
        self.bus.connect('sync-message::element', self.on_sync_message)
开发者ID:Itxaka,项目名称:streamer,代码行数:36,代码来源:screen_grab_qt.py

示例2: Player

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

    def __init__(self, parent=None):
        super().__init__(parent)
        # mpv setup
        self.mpv_container = QWidget(self)
        self.setCentralWidget(self.mpv_container)
        self.mpv_container.setAttribute(Qt.WA_DontCreateNativeAncestors)
        self.mpv_container.setAttribute(Qt.WA_NativeWindow)
        wid = int(self.mpv_container.winId())
        self.mpv = Mpv(parent=self,
                       wid=wid,
                       log_handler=mpv_log.debug,
                       log_level=mpv.LogLevel.INFO,
                       input_cursor=False,
                       hwdec='auto',
                       observe=['track-list', 'playback-time', 'duration'])

        # ui setup
        menu = self.menuBar().addMenu('&File')
        on_open = QAction('Open', self)
        on_open.triggered.connect(self.on_file_open)
        menu.addAction(on_open)

        self.controller = PlayerControls()
        self.controller.show()

        self.mpv.duration.connect(self.controller.update_seek_slider_maximum)
        self.mpv.duration.connect(self.controller.update_duration)
        self.mpv.playback_time.connect(self.controller.update_seek_slider_position)
        self.mpv.playback_time.connect(self.controller.update_playback_time)

        self.controller.seek_slider.sliderReleased.connect(self.slider_seek)
        self.controller.volume_slider.valueChanged.connect(self.slider_volume)

    @pyqtSlot()
    def on_file_open(self):
        open_file, filtr = QFileDialog.getOpenFileName(self, 'Open File')
        logging.debug('Opening file: {}'.format(open_file))
        if open_file:
            self.mpv.play(os.path.abspath(open_file))

    @pyqtSlot()
    def slider_seek(self):
        self.mpv.seek_absolute(self.controller.seek_slider.value())

    @pyqtSlot(int)
    def slider_volume(self, val):
        self.mpv.set_volume(val / 10.0)

    def closeEvent(self, event):
        self.controller.close()
        self.mpv.quit()
开发者ID:coryo,项目名称:python-mpv,代码行数:55,代码来源:pyqt5.py


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