我不太喜欢Gtk::视频控件的外观,我想用我自己的自定义控件来扩展它们,但我不知道如何隐藏默认的媒体控件。有什么办法我能做到吗?

发布于 2022-07-25 07:46:33
来自Gtk.Video的文档:
控件可以作为Gtk.MediaControls单独使用。如果你只想在没有控制的情况下显示一个视频,你可以像对待其他任何可画的视频一样对待它,例如把它放到Gtk.Picture.
中。
发布于 2022-08-22 09:22:16
我知道如何在GTK中做到这一点。您只需在GTKMM中找到相应的方法。GtkVideo小部件包含一个GtkOverlay。在这个覆盖层中有三个元素GtkPicture、GtkImage、GtkRevealer。GtkPicture是视频的表面。GtkImage是视频中心的那个大播放按钮。而GtkRevealer是控件的块。因此,基本上,我是隐藏或移除GtkVideo的第一个孩子的最后一个孩子。
GtkMediaFile* videoFile = GTK_MEDIA_FILE(gtk_media_file_new_for_file(g_file_new_for_path("GTK4Video.mp4")));
GtkVideo* videoPlayer = GTK_VIDEO(gtk_video_new_for_media_stream(GTK_MEDIA_STREAM(videoFile)));
GtkOverlay* videoOverlay = GTK_OVERLAY(gtk_widget_get_first_child(GTK_WIDGET(videoPlayer)));
GtkRevealer* videoControls = GTK_REVEALER(gtk_widget_get_last_child(GTK_WIDGET(videoOverlay)));
gtk_widget_hide(GTK_WIDGET(videoControls));
//gtk_overlay_remove_overlay(videoOverlay, GTK_WIDGET(videoControls));https://stackoverflow.com/questions/70501785
复制相似问题