小编Ant*_*onK的帖子

如何创建显示快捷方式的gtk菜单项?

我正在尝试将 appindicator 与 gtk 菜单集成。我想要一些菜单项有这样的快捷方式:

在此处输入图片说明

不幸的是,在将加速器添加到第二个菜单项后,我仍然得到没有图标和快捷方式的项目。

在此处输入图片说明

我希望看到的是“item2”右侧的快捷方式。

int main (int argc, char **argv) {
  gtk_init(&argc, &argv);

  // main window
  GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "menu-with-shortcuts-window");
  gtk_window_set_icon_name(GTK_WINDOW(window), "menu-with-shortcuts-icon");
  g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

  gtk_widget_show_all(window);

  // indicator
  AppIndicator* indicator = app_indicator_new("menu-with-shortcuts-appindicator", "transmission-tray-icon", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);

  // menu
  GtkWidget*  indicator_menu = gtk_menu_new();

  GtkWidget* item1 = gtk_menu_item_new_with_label("item1");
  gtk_menu_shell_append(GTK_MENU_SHELL(indicator_menu), item1);
  g_signal_connect(item1, "activate", G_CALLBACK(Item1Clicked), NULL);
  gtk_widget_show(item1);

  GtkAccelGroup* accel_group = gtk_accel_group_new();
  gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);

  GtkWidget* item2 = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, accel_group);
  gtk_widget_add_accelerator(item2, "activate", accel_group, GDK_q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); 
  gtk_menu_shell_append(GTK_MENU_SHELL(indicator_menu), item2);
  g_signal_connect(item2, "activate", G_CALLBACK(Item2Clicked), NULL); …
Run Code Online (Sandbox Code Playgroud)

c gtk appindicator ubuntu-unity

5
推荐指数
0
解决办法
649
查看次数

在绘制棋盘时指定不同方块的颜色的最佳方法是什么?

在绘制棋盘时指定不同方块的颜色的最佳方法是什么?假设我想要一个 2 x 2 的板,其颜色如下:

*-----*-----*
|black|white|
*-----*-----*
|white|black|
*-----*-----*
Run Code Online (Sandbox Code Playgroud)

我现在可以有 9 个顶点并使用 GL_QUADS 原语绘制板。据我了解,用某种颜色填充正方形意味着用该颜色指定每个顶点的颜色。但是用不同的颜色填充每个方块意味着复制 5 个顶点

 *-----**----*
 |black|white|
**-----**----**
 |white|black|
 *-----**----*
Run Code Online (Sandbox Code Playgroud)

这是最简单的方法吗?OpenGL中是否真的允许具有相同坐标和不同颜色的顶点?

opengl

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

分别保存颜色条以用于散点图

我有带有colorbar的散点图,我将其另存为PNG图像。我需要该图具有一定的figsize,但要添加颜色条缩放原始图。

import pylab as plt

plt.figure(figsize=FIGSIZE)
plt.scatter(X, Y, c=Z, s=marker_size, norm=LogNorm(), vmin=VMIN, vmax=VMAX, cmap=CMAP,rasterized=True,lw=0,)
CB = plt.colorbar(ticks=TICKS, format=FORMAT)
Run Code Online (Sandbox Code Playgroud)

如何将原始图(按上述设置figsize)和颜色栏保存为两个单独的图像?

python matplotlib colorbar

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

我希望将我的计算内容放在辅助线程中,同时将主循环保留在主线程中

我希望将我的计算内容放在辅助线程中,同时将主循环保留在主线程中.

例如,我想要一个围绕OY旋转的立方体,并改变纹理.旋转摄像机的空闲功能支持立方体旋转.但我的纹理计算过于复杂,需要一些时间,所以我不能把它们放入空闲状态(每次我的立方体旋转时我都不需要改变纹理).我可以使用foo函数来执行一些计算工作,创建纹素缓冲区并在单独的线程中为多维数据集设置新纹理吗?来自main函数的这段代码不会改变旋转立方体的纹理.

glutIdleFunc(idle);
boost::thread_group tgroup;
tgroup.create_thread(boost::bind(&foo));
glutMainLoop();
tgroup.join_all();
Run Code Online (Sandbox Code Playgroud)

在不同的线程中设置新纹理也存在并发问题吗?

c++ opengl multithreading boost glut

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

如何设置散点图的大小

我有三条线设置一个情节.我希望pic.png的大小为640x640像素.但我得到了800x800的照片.

plt.figure(figsize=(8, 8), dpi=80)
plt.scatter(X[:],Y[:])
plt.savefig('pic.png')
Run Code Online (Sandbox Code Playgroud)

顺便说一句我用面向对象的界面设置大小没有问题,但我需要使用pyplot样式.

python matplotlib

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