本文整理汇总了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)
示例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()