问题列表 - 第29556页

如何使用cmake和QRC将Qt4 qm文件集成到二进制文件中?

我有一个Qt4 CMake项目,我想将i18n的QM文件集成到输出二进制文件中.这些是我到目前为止生成TS和QM文件的规则:

set(myapp_TRANSLATIONS
    i18n/myapp_de.ts
)

set(FILES_TO_TRANSLATE
    ${myapp_SRCS}
    ${myapp_MOC_HDRS}
)

QT4_CREATE_TRANSLATION(QM_FILES ${FILES_TO_TRANSLATE} ${myapp_TRANSLATIONS})
QT4_ADD_TRANSLATION(QM ${myapp_TRANSLATIONS})
Run Code Online (Sandbox Code Playgroud)

我尝试了以下操作将QM文件添加到可执行文件中:

add_executable(myapp ${myapp_SRCS} ${myapp_MOC_SRCS} ${myapp_RCC_SRCS} ${QM})
Run Code Online (Sandbox Code Playgroud)

这是main.cpp的初始化:

QTranslator qtTranslator;
qtTranslator.load("qt_" + QLocale::system().name(), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
app.installTranslator(&qtTranslator);

QTranslator appTranslator;
appTranslator.load("myapp_" + QLocale::system().name());
app.installTranslator(&appTranslator);
Run Code Online (Sandbox Code Playgroud)

但是,strings mypp表明翻译不会进入二进制文件.

更新:我将每个qm文件添加到i18n/translations.qrc:

<!DOCTYPE RCC><RCC version="1.0">
  <qresource prefix="/resources">
    <file>myapp_de.qm</file>
    <file>  ...   .qm</file>
  </qresource>
</RCC>
Run Code Online (Sandbox Code Playgroud)

和使用

QT4_ADD_RESOURCES(myapp_QM_RCC_SRCS i18n/translations.qrc)
Run Code Online (Sandbox Code Playgroud)

并添加myapp_QM_RCC_SRCS到可执行的依赖项.

但是由于CMake执行了阴影构建(在源目录之外构建)但是解析了QRC文件以寻找相对于QRC文件的引用文件的依赖性(这很好的功能但是没有制定规则如何构建该位置的QM文件).QM文件位于${CMAKE_CURRENT_BINARY_DIR}(它们属于使用阴影构建的地方)但是期望它${CMAKE_CURRENT_SOURCE_DIR}(非生成的文件应该是 - 所以两个位置都是正确的,具体取决于具体情况).

translation localization qt4 cmake internationalization

12
推荐指数
2
解决办法
6459
查看次数

在rails/migrations中更新模型

假设我使用以下命令创建"用户"模型:

script/generate model User username:string
Run Code Online (Sandbox Code Playgroud)

这将创建user.rb文件以及迁移rb文件以创建Users表.现在,我想在我的用户模型中添加一个电子邮件列.最好的方法是什么?我是手动完成并手动编写迁移文件还是有快捷方式可以执行此操作?如果我手动编写迁移,是否必须以与上一个迁移脚本(前面有时间戳)相同的方式命名,以保证它在上一次迁移后运行?

ruby ruby-on-rails

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

禁用所有`pylint`'Convention'消息

背景

我发现它pylint很有用,但我也发现它非常没有文档记录,输出结构很痛苦,缺乏直观的界面.

我想使用pylint,但它不断抽出一些荒谬的"常规"消息,例如C: 2: Line too long (137/80)等等.

如果我可以禁用这些,那么pylint对我来说会更有用.如何禁用这些"约定"消息?

我自己的努力

我试图把disable-msg=C301~/.pylintrc(它被加载,因为当我把有错误pylint抱怨),我的理解是基于pylint的包目录下运行此命令(文档中的"行太长"的消息,可以发现会对人好点):

$ grep"行太长"**/*.py checkers/format.py:'C0301':('行太长(%s /%s)',

但这disable-msg没有任何作用.我将convention使用该disable-msg-cat=命令禁用整个类别,但是没有任何迹象表明我可以找到convention该命令的类别标识符- 直观disable-message-cat=convention无效.

在这个问题上,我非常有必要指出一些方向.

谢谢.

布赖恩

python pylint

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

如何计算我的数据库中的表/视图/索引的数量

如何计算我的数据库中的表/视图/索引的数量

我正在使用sybase 11

sybase

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

警告:组件的sparks.component.TextInput'不支持CSS类型选择器

我正在尝试做一个简单的CSS声明.但是,我上面有警告,不知道如何解决.我认为s |(类型)应该为我声明样式.

<fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";

        s|TextInput{
        color:#313131;
        }           
</fx:Style>

<s:Panel width="600" height="480" skinClass="skins.CustomPanel">
    <s:layout>
        <s:VerticalLayout paddingTop="7"/>
    </s:layout>
    <s:TextInput text="TextInput CSS not working"/>
    <mx:Form>
        <mx:FormHeading label="Please Enter The Information"/>
        <s:HGroup>
            <mx:FormItem>
                <s:Label text="Brand"/>
                <s:TextInput id="brand" text="CSS not working" width="156"/>
            </mx:FormItem>
    </mx:form>
Run Code Online (Sandbox Code Playgroud)

css apache-flex types flex-spark

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

在方法中有最终值和内部类时会发生什么?

我遇到过很多需要将值传递给另一个线程的情况,我发现我可以这样做,但我一直想知道它是如何工作的?

public void method() {
    final EventHandler handle = someReference;

    Thread thread = new Thread() {
        public void run() {
            handle.onEvent();
        }
    };

    thread.start();
}
Run Code Online (Sandbox Code Playgroud)

编辑:只是意识到我的问题并没有完全指向我想知道的事情.它更"工作",而不是"为什么".

java inner-classes

11
推荐指数
3
解决办法
479
查看次数

Haskell运算符与函数优先级

我正在尝试为自己验证Haskell中的运算符和函数优先级.例如,以下代码

list = map foo $ xs
Run Code Online (Sandbox Code Playgroud)

可以改写为

list = (map foo) $ (xs)
Run Code Online (Sandbox Code Playgroud)

并最终将成为

list = map foo xs
Run Code Online (Sandbox Code Playgroud)

我的问题曾经是,为什么第一个表述不会被重写为

list = (map foo $) xs
Run Code Online (Sandbox Code Playgroud)

因为函数优先级总是高于运算符优先级,但我认为我找到了答案:运算符根本不允许作为函数的参数(当然,除非用括号括起它们).这是正确的吗?如果是这样的话,我觉得很奇怪,在RWH中没有提到这个机制/规则或者学习一个Haskell,或者我搜索过的任何其他地方.因此,如果您知道规则所在的地方,请链接到该地址.

- 编辑:感谢您的快速解答.我认为我的困惑来自于认为运算符字母会以某种方式评估某些东西,这可能会被函数作为参数使用.它帮助我记住,一个中缀运算符可以机械地转换为前缀函数.对第一个配方这样做会产生

($) (map foo) (xs)
Run Code Online (Sandbox Code Playgroud)

毫无疑问,($)是消耗函数,并且由于两个公式是等价的,因此第一个公式中的$ literal不能被map使用.

haskell function operator-precedence operator-keyword

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

或多或少相等的过载

以下代码在C#4.0中编译:

void Foo(params string[] parameters) { }
void Foo(string firstParameter, params string[] parameters) { }
Run Code Online (Sandbox Code Playgroud)

编译器如何知道您调用的是哪个重载?如果它不能,为什么代码仍然编译?

c# overloading

11
推荐指数
2
解决办法
265
查看次数

有人可以解释类型协方差/逆变与类别理论之间的联系吗?

我刚刚开始阅读有关类别理论的内容,如果有人能够解释CS逆变/协方差和类别理论之间的联系,我将非常感激.一些示例类别会是什么(即它们的对象/态射是什么?)?提前致谢?

type-theory covariance contravariance category-theory

10
推荐指数
2
解决办法
647
查看次数

尝试使用PHP通过HMAC-SHA1进行数字签名

我正在尝试设置一些Google Maps Premier API操作,为此,我需要在我的网址上进行身份验证.如果您查看Signature示例,可以使用一些Python,C#和Java代码向您展示如何通过HMAC-SHA1进行签名.还有一个例子,我可以测试我的PHP实现.但是,我似乎无法让它发挥作用.

这是我的代码:

$key = "vNIXE0xscrmjlyV-12Nj_BvUPaw=";

$data = "/maps/api/geocode/json?address=New+York&sensor=false&client=clientID";

$my_sign = hash_hmac("sha1", $data, base64_decode($key));
$my_sign = base64_encode($my_sign);

$valid_sign = "KrU1TzVQM7Ur0i8i7K3huiw3MsA=";
Run Code Online (Sandbox Code Playgroud)

什么时候,我运行这个,我得到一个签名:

ZDRlNGMwZjIyMTA1MWM1Zjk0Nzc4M2NkYjlmNDQzNDBkYzk4NDI4Zg==
Run Code Online (Sandbox Code Playgroud)

哪个完全不匹配.

我想过的事情:

  1. 关键是在修改URL编码格式,因此在改变-_+/也不起作用
  2. Python示例代码确实有效,因此这是一个有效的示例.
  3. 完全用python而不是PHP重写我们的代码库(我继承了它).

php hmacsha1

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