在途中的Gtk3移动(孩子)窗口

时间:2018-01-18 10:56:06

标签: gtk gtk3 gtkmm wayland

我使用gtk3和gtkmm。我想在路上移动一个窗口。

不管它似乎不可能。我尝试使用Gtk::Window::move方法和Gdk::Window::move方法。我还在type_hint上设置Gtk::Window并致电Gtk::Window::set_transient_for。这些都没有在道路上运行,它只是没有动。并在"子窗口"上调用Gtk::Window::set_transient_for使我的TYPE_HINT_DIALOG"子窗口"不再停留在主窗口之上,这在调用此方法之前有效。

我在 gtkmm: Gdk::Window Class Reference 中读到了 this

  

对于顶层窗口,窗口管理器可以忽略或修改移动;你应该在Gtk :: Window小部件上使用gtk_window_move() 1 ,而不是使用GDK函数。 对于子窗口,移动将可靠地成功

它说移动儿童窗户工作。但是,我并不知道“儿童窗户”的含义是什么。

现在我想知道:

  1. 这是真的吗?
  2. 如何将某个窗口设置为另一个窗口的子窗口以移动子窗口(Gtk::Window::set_transient_for是否可以去?)
  3. 我可以以某种方式在道路上用gtk移动(顶层)窗户(例如地下或其他东西)
  4. 注意:也欢迎使用C代码(gtk代码)!

    编辑:只想注意:使用app-option" -platform wayland"使用Qt5它是一样的。使用Wayland时,Qt5不会移动窗口。

    1 我想这是一个错误,它应该是Gtk::Window::move(int x, int y)

0 个答案:

没有答案