【问题标题】:wxWidgets create non resizeable framewxWidgets 创建不可调整大小的框架
【发布时间】:2018-03-05 02:14:05
【问题描述】:

即使在使用以下窗口样式后,我的 wxFrame 派生类也有一个最大化按钮:

wxDEFAULT_FRAME_STYLE &~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)

窗口仍然可以通过窗口边框、最大化框和窗口菜单调整大小。是不是gtk2的版本有bug?

【问题讨论】:

  • wxDEFAULT_FRAME_STYLE 包含 wxRESIZE_BORDER。
  • &~ 删除这些标志
  • 您的 GTK+ 版本和操作系统/版本是什么?你在 Ubuntu/Unity 下吗?
  • Kubuntu 16.04,但也发生在 Xubuntu 16.04 上。 gtk 是 2.24.30。
  • 来自docs.wxwidgets.org/3.1/classwx_window.html - 如果您有旧的 wx 版本,请尝试 wxBORDER_NONE.或 wxNO_BORDER。

标签: c++ gtk wxwidgets


【解决方案1】:

当使用 X11 GTK+ 后端时,wxWidgets 基本上只是调用 gdk_window_set_decorations()gdk_window_set_functions() 函数,它们应该向窗口管理器传达正确的提示,所以看起来它们不能与 KDE 窗口管理器一起使用,不幸的是。

如果您想确认这一点,我建议您使用 GTK+“Hello world”程序并向其中添加对这些函数的调用。如果它确实在那里工作,但在 wxGTK 中不起作用,那将是后者的一个错误,你应该报告它。但是,如果它在那里也不起作用,恐怕没有太多可以做的。

【讨论】:

    猜你喜欢
    • 2014-05-22
    • 2015-10-14
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多