如何在 X11 中创建没有框架的 GUI?

Posted

技术标签:

【中文标题】如何在 X11 中创建没有框架的 GUI?【英文标题】:How to create a GUI without a frame in X11? 【发布时间】:2011-05-04 22:59:35 【问题描述】:

我试图弄清楚如何在 X11 中创建一个图形界面,它存在于窗口管理器/桌面环境的标准窗口框架之外。例如,当 Thunderbird 发现新邮件时,它会在屏幕的右下角显示一个特殊警报,该警报没有任何框架显示(没有关闭/最小化按钮等)。

我对使用 C++ 在 QT 中执行此操作特别感兴趣,但如果有人知道使用不同图形库的解决方案,那也会很有帮助。

【问题讨论】:

【参考方案1】:

对于 QT,当您构建***小部件时,将 Qt::FramelessWindowHint 作为窗口标志传递。

查看这里了解更多信息:

http://doc.qt.nokia.com/main-snapshot/qt.html#WindowType-enum

你也可以用 X 来做到这一点,虽然我已经很久没有这样做了。

http://www.xfree86.org/current/XCreateWindow.3.html

【讨论】:

【参考方案2】:

使用 GTK,您将使用 gtk_window_set_decorated(),它可能是 Gtk::Widget->set_decorated()(我想,我不使用 gtkmm)。

http://developer.gnome.org/gtkmm/unstable/classGtk_1_1Window.html#a67adb1d8051a38e0e5272f141bb8778c

【讨论】:

以上是关于如何在 X11 中创建没有框架的 GUI?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Julia中创建GUI?

如何在 Java 中创建自定义 GUI 组件? (需要开始提示)

如何在 SQL Server 或实体框架中创建没有主键的一对多关系?

如何在Visual C ++中创建非托管Windows GUI?

如何将 X11 事件传递给 QDialog

iOS - 如何在没有第三方框架的情况下在 Swift 中创建自定义动画横幅