问题列表 - 第45779页

Qt样式表语法:定位特定按钮,而不是所有按钮

我有一个带两个按钮的窗口.

我想用不同的样式表装饰每一个.当然,它们都有不同的对象名称,但似乎只有通用QPushButton样式表选择器才有效.

我试过了:

QPushButton#myBtnObjectName1 {

/* style definitions */

}
QPushButton#myBtnObjectName2 {

/* style definitions */

}
Run Code Online (Sandbox Code Playgroud)

用替换#a .或者用#myBtnObjetNameX唯一的替换来尝试相同的.什么都行不通.只是:

QPushButton {
/* style definitions */
}
Run Code Online (Sandbox Code Playgroud)

我使用了错误的语法吗?或者,如果不从QPushButton代码中派生并为每个代码使用单独的类名,这是不可能的?

qt qtstylesheets

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

从.NET中的COM对象包装器重定向STDERR输出

我正在尝试在.NET库中使用ImageMagick COM对象(ImageMagickObject).这个库旨在从IronRuby中调用,但这并不是那么重要.我想采用这种方法,因为它适合我现有的调用,当前调用ImageMagick二进制文件作为外部进程.COM对象将采用与二进制文件相同的参数,但将保存进程创建速度,整体速度提高约5倍.

我唯一的障碍是COM对象的"Compare"方法将其结果返回给STDERR.这也是二进制文件的一个问题,但很容易将其传回STDOUT,我期待它.使用COM对象,我从函数返回值中获取结果.

如何将结果从"比较"重定向到字符串缓冲区甚至文件而不是STDERR?

我尝试了以下操作,它确实阻止输出到达STDERR,但它没有按预期写入文件:

using ImageMagickObject;
...

public class ImageMagickCOM
{
    [DllImport("Kernel32.dll", SetLastError = true)]
    public static extern int SetStdHandle(int device, IntPtr handle);

    private const int STDOUT_HANDLE = -11;
    private const int STDERR_HANDLE = -12;

    private ImageMagickObject.MagickImage magickImage = null;

    private FileStream filestream = null;
    private StreamWriter streamwriter = null;

    public ImageMagickCOM()
    {
        IntPtr handle;
        int status;

        filestream = new FileStream("output.txt", FileMode.Create);
        streamwriter = new StreamWriter(filestream);
        streamwriter.AutoFlush = true;

        //handle = filestream.Handle; // deprecated
        handle = filestream.SafeFileHandle.DangerousGetHandle(); // replaces …
Run Code Online (Sandbox Code Playgroud)

.net c# com imagemagick

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

如何避免在C++中无法重载返回类型

我有功能,可以创建许多不同的模板类型; 一个简单的问题例子是:

EncodedMsg<?>* encode(const Msg& msg)
{
    if(msg.qty < 100) 
        return new EncodedMsg<short>(...);
    else if(msg.qty < 100000)
        return new EncodedMsg<int>(...);
    else 
        return new EncodedMsg<long>(...);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 关于模板的内容的决定是在函数内决定的
  2. 我不能在返回类型上重载
  3. 我不想返回基类类型的EncodedMsg,因为我将不得不解码它后面的消息类型

谁能想到解决这个问题的方法呢?

c++

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

Android共享偏好值的最大大小是多少?

我完全赞赏将大量数据转储到首选项中是完全不合适的,但我的要求不是那么好,但足够大(可能是500-5000字节),我不知道它是否合适.文档没有帮助. http://developer.android.com/reference/android/content/SharedPreferences.Editor.html

我搜索了网络和Stackoverflow并且找不到确定的答案:a)实际限制是什么,基于底层架构b)实际限制是什么,基于性能(我发现编写甚至短的pref值可能需要几秒钟,但我怀疑这只是闪存写入延迟)

希望澄清一下.

android android-preferences

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

我可以屏蔽Chrome的<textarea>拖放功能吗?

在Chrome中,<textarea>可以拉动字段的右下角以展开文本区域.这有时会有其优点,但有时却没有.(这个讨论是另一次.)

我想知道的是如果可能的话我可以阻止这种行为.我正在考虑一些JS/jQuery dingus的内容,但我真的不知道Google是如何编写该功能的.

谁有人涉足这个?

html jquery google-chrome jquery-plugins

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

TryParse失败,带负数

我在让TryParse正常工作时遇到了问题.我有一个我几乎确定有效的值列表(因为它们来自我们系统中的另一个组件)但我想确保有适当的错误处理.

以下是我的值的示例列表:

20.00
20.00
-150.00

这是我最初写的方法:

 private decimal CalculateValue(IEnumerable<XElement> summaryValues)
        {
            decimal totalValue = 0;

            foreach (XElement xElement in summaryValues)
            {
                decimal successful;
                Decimal.TryParse(xElement.Value, out successful);
                if (successful > 0)
                    totalValue += Decimal.Parse(xElement.Value);
            }
            return totalValue;
        }
Run Code Online (Sandbox Code Playgroud)

变量'success'在-150.00返回false,所以我添加了NumberStyles:

private decimal CalculateValue(IEnumerable<XElement> summaryValues)
        {
            decimal totalValue = 0;

            foreach (XElement xElement in summaryValues)
            {
                decimal successful;
                Decimal.TryParse(xElement.Value, NumberStyles.AllowLeadingSign, null, out successful);
                if (successful > 0)
                    totalValue += Decimal.Parse(xElement.Value, NumberStyles.AllowLeadingSign);
            }
            return totalValue;
        }
Run Code Online (Sandbox Code Playgroud)

但是,现在我在那里有NumberStyles,没有数字会解析!将IFormatProvider设置为null我感觉很好,因为这都在我们的系统中.有谁看到我可能做错了什么?

c# tryparse

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

如何使用javascript更改元素的offsetHeight?

您好我正在尝试更改元素的offsetHeight.我使用了以下内容

document.getElementById('id').style.offsetHeight = 0;
Run Code Online (Sandbox Code Playgroud)

但我没有看到明显的变化.有人可以帮我吗?

html javascript

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

jQuery Mobile和Unobtrusive验证

我正在利用MVC3附带的不引人注目的验证创建一个基于jQuery Mobile(Alpha 3)ASP.NET MVC 3应用程序.当直接访问页面时(Url中没有哈希),验证工作完美.但是,当您导航到该页面时,jQuery Mobile使用Ajax Navigation动态加载它(在Url中显示哈希)并且验证停止工作.

以下是使用中的代码示例:

模型:

[Required(ErrorMessage = "Missing value")]
[DisplayName("Property Display Name")]
public int? PropertyName { get; set; }
Run Code Online (Sandbox Code Playgroud)

查看(剃刀):

@Html.LabelFor(model => model.PropertyName)
@Html.TextBoxFor(model => model.PropertyName)
@Html.ValidationMessageFor(model => model.PropertyName)
Run Code Online (Sandbox Code Playgroud)

生成的HTML:

<label for="PropertyName">Property Display Name</label>
<input data-val="true" data-val-number="The field Property Display Name must be a number." data-val-required="Missing value" id="PropertyName" name="PropertyName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="PropertyName" data-valmsg-replace="true"></span>
Run Code Online (Sandbox Code Playgroud)

之前可能已加载其他页面,并且HTML元素不再具有唯一ID.除了滚动我自己的Html Helper类来生成Label,TextBox和ValidationMessage的HTML之外,还有什么方法可以处理这种情况吗?

asp.net-mvc jquery-validate jquery-mobile unobtrusive-validation

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

全局变量在Windows上有多个副本,在exec和共享libaray中编译时在Linux上有一个副本

*修订问题(见下文)*

我有一个定义静态全局变量的cpp文件,例如

static Foo bar;
Run Code Online (Sandbox Code Playgroud)

此cpp文件被编译为可执行文件和共享库.可执行文件可以在运行时加载共享库.

如果我在Linux上,似乎有两个这个变量的副本.我假设一个来自可执行文件,另一个来自共享库.其他平台(惠普,Windows)似乎只有一个副本.

什么控制Linux上的这种行为,我可以改变它吗?例如,是否存在编译器或链接器标志,它会强制共享库中此变量的版本与可执行文件中的变量相同?

*问题的修订*

谢谢你到目前为止的答案.在重新审视问题时,实际上并不是上述问题.上面的静态全局变量确实在Windows上有多个副本,因此与我在Linux上看到的没有区别.

但是,我有另一个全局变量(这次不是静态的),它在cpp文件中声明,在头文件中声明为extern.

在Windows上,这个变量有多个副本,一个在可执行文件中,一个在每个dll中加载,而在Linux上它只有一个.所以现在的问题是关于这种差异.如何让Linux拥有多个副本?

(我的程序的逻辑意味着静态全局变量的值取决于非静态全局变量的值,我开始指责错误的变量是问题)

c++ linux

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

任何boost :: asio异步调用会自动超时吗?

我有一个boost::asio异步使用的客户端和服务器.我想添加一些超时来关闭连接,如果出现问题可能会重试.

我最初的想法是,每当我调用一个async_函数时,我也应该deadline_timer在我希望异步操作完成后启动一个到期.现在我想知道在每种情况下是否都是必要的.

例如:

  • async_resolve大概使用系统的解析器,它具有内置的超时(例如RES_TIMEOUT,resolv.h可能被配置覆盖/etc/resolv.conf).通过添加我自己的计时器,我可能会与用户希望他的解析器工作的方式发生冲突.

  • 因为async_connect,connect(2)系统调用内置了某种超时

  • 等等

那么哪些(如果有的话)async_调用可以保证在"合理"的时间范围内调用它们的处理程序?如果一个操作[can | do]超时,那么处理程序会传递basic_errors::timed_out错误或其他什么?

c++ boost-asio

19
推荐指数
2
解决办法
7729
查看次数