小编Fak*_*hid的帖子

如何渲染svg文件的*parts*?

我想通过名称呈现svg文件的一部分,但对于我的生活,我无法弄清楚如何这样做(使用python + gtk).

这是有问题的svg文件:http://david.bellot.free.fr/svg-cards/files/SVG-cards-2.0.1.tar.gz(更新:此文件不再存在,但您可以跟踪它在http://svg-cards.sourceforge.net/)

在他的网站上,大卫说:

您可以通过将文件渲染到像素图上并手动剪裁每张卡片或通过DOM界面使用卡片名称来绘制卡片.所有卡都嵌入到SVG组中.

我不知道DOM接口意味着什么.我做了一些搜索,我发现的最好的结果似乎适合我想要做的是:

QSvgRenderer *renderer = new QSvgRenderer(QLatin1String("SvgCardDeck.svg"));
QGraphicsSvgItem *black = new QGraphicsSvgItem();
QGraphicsSvgItem *red   = new QGraphicsSvgItem();

black->setSharedRenderer(renderer);
black->setElementId(QLatin1String("black_joker"));

red->setSharedRenderer(renderer);
red->setElementId(QLatin1String("red_joker"));
Run Code Online (Sandbox Code Playgroud)

但请注意,它适用于Qt,甚至不是用python编写的.

这是我到目前为止:

#!/usr/bin/env python

from __future__ import absolute_import

import cairo
import gtk
import rsvg

from xml import xpath
from xml.dom import minidom

window = gtk.Window()
window.set_title("Foo")
window.set_size_request(256, 256)
window.set_property("resizable", False)
window.set_position(gtk.WIN_POS_CENTER)
window.connect("destroy", gtk.main_quit)
window.show()

document = minidom.parse("cards.svg")
element = xpath.Evaluate("//*[@id='1_club']", document)[0]
xml = element.toxml()

svg = …
Run Code Online (Sandbox Code Playgroud)

python gtk svg cairo

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

如何修改gitstats以仅为其统计信息使用指定的文件扩展名?

有问题的统计发生器的网站是:

http://gitstats.sourceforge.net/
Run Code Online (Sandbox Code Playgroud)

它的git存储库可以从以下位置克隆:

git clone git://repo.or.cz/gitstats.git
Run Code Online (Sandbox Code Playgroud)

我想做的是:

./gitstatus --ext=".py" /input/foo /output/bar
Run Code Online (Sandbox Code Playgroud)

如果没有经过大量修改就无法轻松传递上述选项,我只需要对要包含的文件扩展名进行硬编码.

但是,我不确定要修改的相关代码部分,即使我知道,我也不确定如何开始这样的修改.

这似乎很简单,但唉......

python

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

如何"镜像"无序列表的子弹?

很难说出这个问题.

我假设大多数人都知道正常的无序列表左侧有子弹.我想知道是否有可能将这些子弹放在右侧(jquery解决方案很好).

稍微详细一点,假设:

  1. 我希望并排显示2个列表:foobar.
  2. bar列表的文本对齐方式应该在右侧.
  3. bar列表的子弹应该在对立面.

PS因为我认为有人会说,"为什么?为什么以所有合乎逻辑的名义你想做这样的事情?" 我谦虚但不合逻辑的代码自我肯定必须承认它对"规范"有点无聊.;)

编辑:

使用dir='rtl'对我的情况不起作用,因为它只会让子弹反转,而不是句子也会导致不良影响.

html css jquery

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

为什么foreach循环在某些情况下不起作用?

我正在使用foreach循环来处理要处理的数据列表(一旦处理就删除了所述数据 - 这是在锁内).此方法偶尔会导致ArgumentException.

抓住它本来是昂贵的,所以我试图追查这个问题,但我无法弄明白.

我已经切换到for循环,问题似乎已经消失了.有人能解释发生了什么吗?即使有异常消息,我也不太了解幕后发生了什么.

为什么for循环显然有效?我是否设置了foreach循环错误或什么?

这几乎是我的循环设置方式:

foreach (string data in new List<string>(Foo.Requests))
{
    // Process the data.

    lock (Foo.Requests)
    {
        Foo.Requests.Remove(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

for (int i = 0; i < Foo.Requests.Count; i++)
{
    string data = Foo.Requests[i];

    // Process the data.

    lock (Foo.Requests)
    {
        Foo.Requests.Remove(data);
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:for*循环是这样的设置,如下所示:

while (running)
{
    // [...]
}
Run Code Online (Sandbox Code Playgroud)

编辑:根据要求添加了有关异常的更多信息.

System.ArgumentException: Destination array was not long enough. Check destIndex and length, and the array's lower bounds
  at System.Array.Copy (System.Array sourceArray, Int32 sourceIndex, System.Array …
Run Code Online (Sandbox Code Playgroud)

c# foreach for-loop exception

4
推荐指数
3
解决办法
7517
查看次数

当在字符串中使用所述对象变量时,为什么不能访问"更深层"的对象变量?

我的意思是,虽然你可以这样做:

$foo = "Yo dawg I herd you like $bar->baz";
Run Code Online (Sandbox Code Playgroud)

这个:

$foo = "Yo dawg I herd you like $bar->baz->qux";
Run Code Online (Sandbox Code Playgroud)

导致以下错误:

"Object of class * could not be converted to string"
Run Code Online (Sandbox Code Playgroud)

围绕它的最干净的方式似乎是这样的:

$baz = $bar->baz;

$foo = "Yo dawg I herd you like $baz->qux";
Run Code Online (Sandbox Code Playgroud)

那么为什么它不起作用,是否有更好的解决方案?

注意:

我知道有些人喜欢把他们的变量放在他们的字符串之外,但这不是讨论这种偏好的场所,也没有解决我问的问题所以如果你留下这样的主观情绪,我会很感激.谢谢.

php

4
推荐指数
2
解决办法
1528
查看次数

你如何旋转gtk小部件?

假设有问题的小部件是一个包含Label和两个按钮的VBox.

此外,假设所需的旋转度为90°.

如何旋转呢?我不认为默认情况下这是可能的,但我认为这是可能的.

但是,我不知道如何开始.我是否编写自定义小部件?我的子类是什么?

gtk pygtk

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

如何替换字符串中的自定义“标签”?

鉴于以下情况:

$foo = "Yo [用户 Cobb] 我听说你喜欢做梦,所以我在 yo dream 里放了一个梦想,这样你就可以一边做梦一边做梦。"

我想这样做:

$foo = bar($foo);

回声 $foo;

得到这样的东西:

Yo Cobb我听说你喜欢做梦,所以我在 yo dream 里放了一个梦想,这样你就可以一边做梦一边做梦。

我不确定该bar功能应该如何工作。我认为这对正则表达式是可行的,但我个人觉得这些很难理解。使用strpos函数是另一种方法,但我想知道是否有更好的解决方案。

伪代码很好,但实际代码将不胜感激。

编辑:

这些标签不是占位符,因为第二部分是一个变量值。

编辑:

所有 str_replace 答案都不正确,因为标签包含可变内容。

php

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

我正在协助的一个项目是为客户使用freeglut.我应该另有建议吗?

我参与了一个开发项目,该项目使用freeglut(基于长期不存在的过剩)为它的客户端.

客户端最终将允许与大规模3D环境进行完全交互.我应该让开发继续使用freeglut(甚至可能)还是应该建议他们使用另一种替代方法,例如libsdl,opentk甚至公理.

我不是一个图形人,但我觉得freeglut可能是一个有限的选择.

最有说服力的答案(赞成或反对)将获得认可.

编辑:要点几点......

  • 该项目已经在使用Tao Framework.
  • DirectX和XNA不是选项(即:必须使用像freeglut或libsdl这样的东西).

我做了我的研究,发现freeglut再次处于积极的发展状态,他们有一个待发布的版本.这并没有改变我的感觉,它可能仍然是一个潜在的有限选择.

我的问题不是它是如何完成的,而是关于freeglut是否仍然是一个可行的选择,可能会变得更大,以及是否有更多的"现代"解决方案,可能会有点缓解开发.

编辑:如果其他替代方案具有更好的多线程支持(不是用于渲染对象,而是用于处理数据等),这将有所帮助.

编辑:详细说明......客户端必须至少在linux和windows中工作.

谢谢!

c# 3d sdl freeglut

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

current()函数是否保证以指向数组第一个元素的内部指针开始?

我的问题完全如上所述.

我想知道是否足够"信任"数组的内部指针总是指向它的第一个元素,无论如何,只需使用它:

$bar = current($foo);
Run Code Online (Sandbox Code Playgroud)

或者,如果我没有机会,首先将数组的内部指针重置为第一个元素,然后再使用它:

reset($foo);
$bar = current($foo);
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为如果current()函数本身不可靠,它可能会给最终用户带来误导性信息,我宁愿避免使用以下主题的任何电子邮件:

"What is this? I don't even..."
Run Code Online (Sandbox Code Playgroud)

我相信你明白了.:)

编辑:

我知道current()函数的要点是访问数组当前内部指针的位置.我的问题是,当没有其他函数调用应该移动内部指针时,内部指针是否保证在数组创建后立即指向数组的第一个元素.

php arrays

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

如何将结构定义为属性?

标题可能不正确,如果是,请更改.我不知道如何提出我的问题,所以只看代码,因为它应该是显而易见的.

使用注释代码将起作用,但我想知道为什么实际代码不起作用.我确定这是错的,但如何解决呢?或者这不是它的完成方式吗?

using System;

namespace SomethingAwful.TestCases.Structs
{
    public class Program
    {
        public static void Main()
        {
            Foo f = new Foo();
            f.Bar.Baz = 1;

            Console.WriteLine(f.Bar.Baz);
        }
    }

    public class Foo
    {
        public struct FooBar
        {
            private int baz;

            public int Baz
            {
                get
                {
                    return baz;
                }
                set
                {
                    baz = value;
                }
            }

            public FooBar(int baz)
            {
                this.baz = baz;
            }
        }

        private FooBar bar;

        public FooBar Bar
        {
            get
            {
                return bar;
            }
            set
            {
                bar = value; …
Run Code Online (Sandbox Code Playgroud)

c# struct properties

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

标签 统计

c# ×3

php ×3

gtk ×2

python ×2

3d ×1

arrays ×1

cairo ×1

css ×1

exception ×1

for-loop ×1

foreach ×1

freeglut ×1

html ×1

jquery ×1

properties ×1

pygtk ×1

sdl ×1

struct ×1

svg ×1