如何在X11中创建一个没有框架的GUI?
我试图弄清楚如何在 X11 中创建图形界面,该界面存在于窗口管理器/桌面环境的标准窗口框架之外。例如,当 Thunderbird 发现新邮件时,它会在屏幕右下角显示一个特殊警报,该警报没有任何框架(没有关闭/最小化按钮等)。
我对使用 C++ 在 QT 中执行此操作特别感兴趣,但如果有人知道使用不同图形库的解决方案,那也会很有帮助。
I'm trying to figure out how to create a graphical interface, in X11, which exists outside of a window manager's/desktop environment's standard window frame. For example, when Thunderbird finds new mail, it shows a special alert in the lower right hand corner of the screen which is shown without any frame (no close/minimize buttons, etc.).
I'm specifically interested in doing this in QT with C++, but if someone knows a solution with a different graphical library, that would be helpful too.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于 QT,当您构造顶级小部件时,将 Qt::FramelessWindowHint 作为窗口标志传递。
请参阅此处了解更多信息:
http://doc.qt.nokia .com/main-snapshot/qt.html#WindowType-enum
您也可以使用 X 执行此操作,尽管我已经很长时间没有这样做了。
http://www.xfree86.org/current/XCreateWindow.3.html
For QT pass Qt::FramelessWindowHint as a window flag when you construct your top level widget.
See here for more info:
http://doc.qt.nokia.com/main-snapshot/qt.html#WindowType-enum
You can do this with X as well although I haven't done so in a long time.
http://www.xfree86.org/current/XCreateWindow.3.html
对于 GTK,您将使用 gtk_window_set_decorated(),这可能是 Gtk::Widget->set_decorated() (我想,我不使用 gtkmm)。
http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Window.html#a67adb1d8051a38e0e5272f141bb8778c
With GTK you would use gtk_window_set_decorated(), which would probably be Gtk::Widget->set_decorated() (I think, I don't use gtkmm).
http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Window.html#a67adb1d8051a38e0e5272f141bb8778c