小编Alb*_*ert的帖子

如何在非GUI应用程序中使用QWebPage

我想QWebPage在非GUI Qt应用程序中使用.通过这个,我的意思是我根本不想与窗口服务器通信.但是,使用QtGui不是问题.

QWebPage在内部创建一些QWidget实例.因此,使用QCoreApplication是不可能的.

在创建QApplication实例时,我已经立即获得了一个MacOSX停靠图标.我不希望这样.它还意味着它以某种方式在Cocoa中将自身注册为GUI应用程序.

我的问题不是Mac版.我想知道Qt是否有"官方"方式来做到这一点.只有在没有的情况下,我才想知道具体的方法,例如在Mac上.


关于Mac的更具体一些:

还有一个LSBackgroundOnly属性,可以为App包设置,它可以指向我想要的方向(我仍然不确定它是否真的是真正的控制台,例如,如果没有Quartz等也可以. ).但是,我根本没有应用程序包; 它只是一个简单的二进制文件(用作shell中的命令行工具).

现在,我有一个小的解决方法来隐藏停靠图标,但这是非常难看,因为它首先弹出然后消失:( Python代码,但这并不重要......)

def hideMacDockIcon():
    # http://stackoverflow.com/a/9220857/133374
    import AppKit
    # https://developer.apple.com/library/mac/#documentation/AppKit/Reference/NSRunningApplication_Class/Reference/Reference.html
    NSApplicationActivationPolicyRegular = 0
    NSApplicationActivationPolicyAccessory = 1
    NSApplicationActivationPolicyProhibited = 2
    AppKit.NSApp.setActivationPolicy_(NSApplicationActivationPolicyProhibited)

app = QApplication(sys.argv)
if sys.platform == "darwin":
    hideMacDockIcon()
Run Code Online (Sandbox Code Playgroud)

此外,我不确定它是否也适用于其他环境,可能是系统守护程序等.

qt qt4 qwebpage qwebkit

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

multiprocessing.Queue 在进程死亡时挂起

我有一个子进程 viamultiprocessing.Process和一个队列 via multiprocessing.Queue

主要过程是multiprocessing.Queue.get()用来获取一些新数据。我不想在那里超时,我希望它被阻塞。

但是,当子进程因任何原因(通过用户手动杀死kill或段错误等)死亡时,Queue.get()将永远挂起。

我怎样才能避免这种情况?

python multiprocessing

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

C++:自动初始化

我发现有时候我必须手动初始化所​​有POD类型.例如

struct A {
    int x;
    /* other stuff ... */

    A() : x(0) /*...*/ {}
    A(/*..*/) : x(0) /*...*/ {}
};
Run Code Online (Sandbox Code Playgroud)

我不喜欢这个有几个原因:

  • 我必须在每个构造函数中重做它.
  • 初始值与变量声明位于不同的位置.
  • 有时,我必须实现构造函数的唯一原因是因为这个原因.

为了解决这个问题,我尝试使用自己的类型.即不使用int x,y;,我使用自己的矢量结构,它也自动初始化0.我还考虑过实现一些简单的包装器类型,例如:

template<typename T>
struct Num {
    T num;
    Num() : num(0) {}
    operator T&() { return num; }
    operator const T&() const { return num; }
    T& operator=(T _n) { num = _n; return num; }
    /* and all the other operators ... */
};
Run Code Online (Sandbox Code Playgroud)

到目前为止,这基本上解决了我想要初始化的所有情况0(这是迄今为止最常见的情况).

感谢James …

c++ variables initialization declaration

3
推荐指数
2
解决办法
4255
查看次数

MSVC在编译错误时失败而不编译任何源

所有源文件似乎编译得很好.

但是,由于我实现了这一点,我得到一个新的编译器错误:

1>------ Erstellen gestartet: Projekt: OpenLieroX, Konfiguration: Debug Win32 ------
1>Der Buildvorgang wurde am 29.03.2012 23:57:39 gestartet.
1>InitializeBuildStatus:
1>  Aktualisieren des Timestamps von "Debug\OpenLieroX.unsuccessfulbuild".
1>ClCompile:
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind aktuell.
1>  Alle Ausgaben sind …
Run Code Online (Sandbox Code Playgroud)

c++ visual-studio-2010 visual-studio visual-c++ visual-c++-2010

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

音量标准化

我正在编写一个音乐播放器,我想标准化不同歌曲的音量。

我可以想到一些不同的方法来做到这一点,例如:

  1. 遍历所有 PCM 样本(假设浮点数从 -1 到 1)并选择 m = max(abs(sample))。然后将因子 1/m 应用于所有 PCM 样本。这将使峰值为 1。

  2. 遍历 PCM 流,对于每个位置,取其周围一定宽度的汉宁窗口,计算绝对样本的平均值,然后从这些数据中选取最大值并标准化所有内容。

  3. 与 2 相同,但可以通过其他方式获得某种平均值。

2 和 3 的缺点是我可能需要一些剪辑,从而失去一些质量。不过,通过不标准化为 1 而是标准化为 0.95 左右,我也许可以在某种程度上避免这种情况。但我认为 2 和 3 的优点是这对用户来说可能是更自然的归一化。维基百科也有一些关于此的信息,并提到RMSReplayGainEBU R128来测量歌曲的响度。

其他流行的音乐播放器(如 iTunes 等)是如何做到这一点的?

audio pcm audio-player

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

什么是第一次机会异常?

我得到了一个First-chance exception at 0x75FA2EEC in x.exe: Microsoft C++ exception: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::property_tree::ptree_bad_path> > at memory location 0x006AE774.

在我的代码中,我以为我已经处理过它们了:

const ptree& v;
std::string value;
try { value = v.get<std::string>("<xmlattr>.Value"); }
catch(ptree_bad_path&) { value = v.get_value<std::string>(); }
Run Code Online (Sandbox Code Playgroud)

(根据文档.)

那么为什么我会收到错误?

它似乎只是忽略了错误然后继续执行.

visual-studio-2010 visual-studio

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

py_func只是用于CPU操作?

根据文档,我可以tf.py_func用来定义自己的操作.它将接收Numpy数组,并且必须返回Numpy数组.它没有明确写在文档中,但我得出结论,它将绑定到CPU设备?

如果我将其与可能在GPU上运行的其他操作相结合,TF会贪婪地向GPU移动尽可能多的计算并自动在GPU和CPU之间传输内存tf.py_func吗?(就像Theano一样.)

是否有类似的tf.py_func定义GPU操作?

tensorflow

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

获取拉丁字符的所有unicode变体

例如,对于字符"a",我想获取一个字符串(字符列表),例如"aàáâãäå???"(不确定示例列表是否完整...)(基本上是所有带有name的unicode字符"Latin Small Letter A with *")。

有没有通用的方法可以做到这一点?

我要求使用Python,但是如果答案更通用,那也很好,尽管在任何情况下我都希望Python代码片段。Python> = 3.5很好。但是我想您需要访问Unicode数据库,例如Python模块unicodedata,我比其他外部数据源更喜欢它。

我可以想象这样的解决方案:

def get_variations(char):
   import unicodedata
   name = unicodedata.name(char)
   chars = char
   for variation in ["WITH CEDILLA", "WITH MACRON", ...]:
      try: 
          chars += unicodedata.lookup("%s %s" % (name, variation))
      except KeyError:
          pass
   return chars
Run Code Online (Sandbox Code Playgroud)

python unicode unicode-normalization python-3.x

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

如何在HTML中转义JavaScript代码

addHtml我的JS代码中有一些JavaScript函数.我想知道如何正确地逃避HTML/JS代码.基本上,我现在正在尝试的是:

addHtml("<a onclick=\"alert(\\\"Hello from JS\\\")\">click me</a>")
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.它添加了a元素,但是当我点击它时它什么都不做.

我不想更换所有"'作为一种解决方法.(如果我这样做,那就有效.)

html javascript escaping

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

Safari的Reader代码在哪里?

Safari 5获得了一项新功能:阅读器.它显示了文章页面的简化版本,只包含文章本身(而不是所有杂乱的文章).它还将多个页面(如果文章分为多个页面)合并为一个页面.

这是一个非常有用的功能,我想将其移植到Chrome.

我在WebKit主干中搜索Readers代码(例如http://svn.webkit.org/repository/webkit/trunk/),但我找不到它.

有什么提示我可以找到它吗?

safari code-analysis webkit google-chrome

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