将图像拟合到窗口 - GTKmm

Posted

技术标签:

【中文标题】将图像拟合到窗口 - GTKmm【英文标题】:Fitting image to window - GTKmm 【发布时间】:2012-03-31 20:11:02 【问题描述】:

我正在使用 gtkmm 用 C++ 编写一个简单的照片查看器,但我无法解决一些问题。我想适合显示到窗口的图像。为此,我已将signal_configure_event 连接到我的拟合函数。这很好用,但现在我还有两个问题:

    在最大化/最小化窗口时未发送信号,并且图像大小未更新。我试图通过将我的调整大小函数连接到signal_window_state_event 来解决这个问题,但它不起作用,因为在调整窗口大小之前发送信号并运行我的函数没有意义,因为它变得旧 Gtk::图片小部件尺寸参数。

    类似的故事是在启动我的应用程序时加载第一张图片 - 当我将 loadImage() 连接到主窗口的 signal_show 时,它会在启动之前窗口最大化并且图像保持不变非常小。

如果有人能给我一些关于如何正确操作的想法,我将非常感激。 GTKmm 文档真的很差,我不知道该怎么做。

负责上述操作的代码在这里(其余代码在存储库中): https://github.com/jjkrol/ZPR/blob/master/src/gui.cpp

非常感谢您。

【问题讨论】:

您是否尝试连接到 size-allocate 信号或覆盖 on_size_allocate()? 谢谢,成功了!我遇到了这个信号的问题,忘记重试了。 对我来说,gtkmm 文档的详细程度已经足够了;我需要做的一切,我已经能够从参考手册和教程中提炼出来。也许过去不是那么好;我不知道。 【参考方案1】:

解决方案是将我的函数连接到signal_size_allocate,现在不需要任何其他信号。谢谢ergosys

【讨论】:

恭喜修复!如果有能力,请确保将您的答案标记为“已接受”,以便其他人可以从您的成功中学习。干杯~

以上是关于将图像拟合到窗口 - GTKmm的主要内容,如果未能解决你的问题,请参考以下文章

Gtkmm - 隐藏窗口而不关闭应用程序

gtkmm & glade - 多个窗口不工作

如何使用 gtkmm 抓取和隐藏光标?

呈现窗口时出现 Gtkmm 分段错误

Gtkmm 从课堂外关闭一个 gui 窗口

gtkmm 3 窗口 64 位