仅处理平铺事件而不是最大化事件

问题描述 投票:0回答:1

我正在使用GTKMM构建一个非常基本的计算器程序

Basic Calculator screenshot

设计使布局处于横向模式(按钮和显示标签的方向为[[水平)

当用户将窗口向右或向左对齐/平铺时,我想将这两个方向设置为纵向模式(即,在[[垂直中])>

下面是我使用的示例代码:

bool BasicCalculator::on_calculator_window_state_changed( GdkEventWindowState *window_state_event, Gtk::Box *box) { if ( window_state_event->new_window_state & (Gdk::WINDOW_STATE_RIGHT_TILED | Gdk::WINDOW_STATE_LEFT_TILED) ) box->set_orientation(Gtk::ORIENTATION_VERTICAL); else box->set_orientation(Gtk::ORIENTATION_HORIZONTAL); return true; }

[Window tiled leftright
    Window maximized
  • 该代码有效,但是最大化时我的窗口垂直定向,这不是我的意图。我希望它处于水平方向
  • 我如何仅处理平铺事件而不处理最大化事件?

    PS:My project repo,如果要构建和测试

    我正在使用GTKMM基本计算器屏幕截图构建一个非常基本的计算器程序,布局是根据设计要在横向模式下(按钮和显示标签为水平方向),我想确定方向...

  • c++ gtkmm
    1个回答
    0
    投票
    © www.soinside.com 2019 - 2024. All rights reserved.