小编Joe*_*oel的帖子

GLib-CRITICAL**:尝试删除时未找到源ID XXX

我以树店为模型进行了树视图.窗口按预期显示,但当我单击"+"展开项目时,我收到以下消息:

GLib-CRITICAL **: Source ID 221 was not found when attempting to remove it
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#include <gtk/gtk.h>

/* compile with: */
/* gcc main.c -o boxy `pkg-config --cflags --libs gtk+-2.0` */

typedef struct {
GtkWidget *toplevel;
GtkWidget *treeview;
} Widgets;

enum { ITEM_PARENT, ITEM_CHILD };

typedef struct {
gint tipo;
gint id;
gchar *nombre;
gint cantidad;
} Lista;

void addColumn (GtkTreeView *tv, const gchar* title, gint pos) {
GtkCellRenderer *tmp;
tmp = gtk_cell_renderer_text_new ();
g_object_set (tmp, "editable", TRUE, "editable-set", TRUE, …
Run Code Online (Sandbox Code Playgroud)

c gtk gtk2 gtktreeview

33
推荐指数
1
解决办法
7万
查看次数

gtkmm 的 g_signal_emit 或 g_signal_emit_by_name 版本是什么?

我正在程序后台运行超时函数,并且尝试从 Gtk::Button 发出删除事件信号,这是我的构造函数中的代码片段:

// Glib::SignalProxy1<bool,GdkEventAny*> m_deleteSlot;
// m_deleteSlot =
signal_delete_event().connect (sigc::mem_fun (*this, &AlarmUI::my_delete_event));
m_timeout_connection = Glib::signal_timeout().connect_seconds(sigc::mem_fun(*this, &AlarmUI::cb_my_tick), 1);`
Run Code Online (Sandbox Code Playgroud)

现在,方法:

bool AlarmUI::my_delete_event (GdkEventAny *event) {
if (m_timeout_connection.connected ()) {
    // show messagebox here
    return true;
} else {
    // bye bye
    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

现在,当用户单击退出按钮时,我想发出删除事件信号。问题:如何在 gtkmmm 中发出信号,就像在 C g_signal_emit 或 g_signal_emit_by_name 中一样?

void AlarmUI::on_button_quit () {
// m_deleteSlot.emit (); ???
}
Run Code Online (Sandbox Code Playgroud)

更新1:

Glib::RefPtr<Gtk::Application> app = Gtk::Application::create (argc, argv, PACKAGE);
Glib::RefPtr<Gtk::Builder> refBuilder = Gtk::Builder::create ();
try { 
    refBuilder->add_from_file (UI_PATH);
}
catch …
Run Code Online (Sandbox Code Playgroud)

c++ signals gtkmm gtk3

5
推荐指数
1
解决办法
778
查看次数

在cmake中检测项目语言

我想检测当前的项目语言,例如,如果我有这样的东西:

cmake_minimum_required (VERSION 3.0)
project (foo VERSION 1.0 LANGUAGES CXX)
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西

if (project_lang EQUAL "CXX")
  # do something for c++
endif ()
Run Code Online (Sandbox Code Playgroud)

谢谢!

cmake

3
推荐指数
1
解决办法
4335
查看次数

cmake在构建期间检测到空目录

我有一个自定义命令,如果目录存在则执行该命令。我需要先知道目录是否为空,然后再执行另一个命令。

问题:如何读取,检测或获取目录文件的数量?

cmake

2
推荐指数
1
解决办法
1629
查看次数

编程的名称是什么?

我在wxWidgets和其他C++代码风格中看到了这一点:

#include <iostream>

class Foo {
    int _x;
    int _y;
    public:
        Foo () : _x(0), _y(0) {}
        Foo (int x, int y) : _x(x), _y(y) {}
        int get () const { return _x+_y; }
};

int GetFoo (const Foo& f) {
    return f.get ();
}

int main () {
    Foo f1(2,3); // create object with values
    std::cout << "Value1: " << f1.get () << '\n'; // access object method
    std::cout << "Value2: " << GetFoo(Foo(3,7)) << '\n'; // How do …
Run Code Online (Sandbox Code Playgroud)

c++

2
推荐指数
1
解决办法
57
查看次数

标签 统计

c++ ×2

cmake ×2

c ×1

gtk ×1

gtk2 ×1

gtk3 ×1

gtkmm ×1

gtktreeview ×1

signals ×1