我使用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函数。 对于子窗口,移动将可靠地成功
它说移动儿童窗户工作。但是,我并不知道“儿童窗户”的含义是什么。
现在我想知道:
Gtk::Window::set_transient_for
是否可以去?)注意:也欢迎使用C代码(gtk代码)!
编辑:只想注意:使用app-option" -platform wayland"使用Qt5它是一样的。使用Wayland时,Qt5不会移动窗口。
1 我想这是一个错误,它应该是Gtk::Window::move(int x, int y)