问题列表 - 第16889页

Qt库事件循环问题

我正在编写一个DLL,它被另一个应用程序用作插件,并希望利用Qt的能力.
我已经设置,编译和运行所有类,但没有发出任何信号.所以似乎没有QEventLoop.

尝试1:
我将我的主类修改为子类QThread而不是QObject,并在run()中创建一个QEventLoop,连接所有信号/槽,并执行该线程.
但它没有说没有QApplication就没有QEventLoop.

尝试2:
我修改了主类(仍然继承了QThraed)而不是实例化QCoreApplication,连接所有信号/槽,然后执行应用程序.
警告说QApplication不是在main()线程中创建的,仍然不会发出信号.

我不确定该怎么做.我显然无法在将使用我的插件的应用程序中创建QCoreApplication,并且我无法在没有插件的情况下发出信号.

我已经包含了一个简单的(并且可怕写的)测试应用程序,它应该说明我的问题:

任何帮助,将不胜感激!

main.cpp中:

#include <iostream>
#include "ThreadThing.h"
using namespace std;
int main(int argc, char *argv[])
{
    cout << "Main: " << 1 << endl;
    ThreadThing thing1;
    cout << "Main: " << 2 << endl;
    thing1.testStart();
    cout << "Main: " << 3 << endl;
    thing1.testEnd();
    cout << "Main: " << 4 << endl;
    thing1.wait(-1);
    cout << "Main: " << 5 << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

ThreadThing.h:

#ifndef THREADTHING_H
#define THREADTHING_H
#include <QThread> …
Run Code Online (Sandbox Code Playgroud)

dll qt signals-slots qeventloop

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

使用ElementTree示例在Python中解析XML

我很难找到一个如何使用Element Tree在python中解析XML的基本示例.根据我的发现,这似乎是用于解析XML的最简单的库.以下是我正在使用的XML示例:

<timeSeriesResponse>
    <queryInfo>
        <locationParam>01474500</locationParam>
        <variableParam>99988</variableParam>
        <timeParam>
            <beginDateTime>2009-09-24T15:15:55.271</beginDateTime>
            <endDateTime>2009-11-23T15:15:55.271</endDateTime>
        </timeParam>
     </queryInfo>
     <timeSeries name="NWIS Time Series Instantaneous Values">
         <values count="2876">
            <value dateTime="2009-09-24T15:30:00.000-04:00" qualifiers="P">550</value>
            <value dateTime="2009-09-24T16:00:00.000-04:00" qualifiers="P">419</value>
            <value dateTime="2009-09-24T16:30:00.000-04:00" qualifiers="P">370</value>
            .....
         </values>
     </timeSeries>
</timeSeriesResponse>
Run Code Online (Sandbox Code Playgroud)

我能够使用硬编码方法做我需要的事情.但我需要我的代码更有活力.这是有效的:

tree = ET.parse(sample.xml)
doc = tree.getroot()

timeseries =  doc[1]
values = timeseries[2]

print child.attrib['dateTime'], child.text
#prints 2009-09-24T15:30:00.000-04:00, 550
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的一些事情,其中​​没有一个有效,报告说他们找不到时间序列(或我尝试过的任何其他内容):

tree = ET.parse(sample.xml)
tree.find('timeSeries')

tree = ET.parse(sample.xml)
doc = tree.getroot()
doc.find('timeSeries')
Run Code Online (Sandbox Code Playgroud)

基本上,我想加载xml文件,搜索timeSeries标记,并遍历值标记,返回dateTime和标记本身的值; 我在上面的例子中所做的一切,但不是硬编码我感兴趣的xml部分.有人能指出我的一些例子,或者给我一些关于如何解决这个问题的建议?


谢谢你的帮助.使用以下两个建议对我提供的示例文件起作用,但是,它们不能在完整文件上工作.这是我使用Ed Carrel的方法从真实文件中得到的错误:

 (<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has no attribute 'attrib'",), <traceback object at 0x011EFB70>)
Run Code Online (Sandbox Code Playgroud)

我认为在它不喜欢的真实文件中有一些东西,所以我逐渐删除了东西直到它工作.以下是我更改的行: …

python xml elementtree

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

使用触发器WPF MVVM更改映像

这可能是一个没有脑子的人,但我似乎无法让它发挥作用.我有一个视图模型暴露了一个名为bool NotFound的属性我想将它绑定到一个触发器,以便当它更改我的控件上的图像更改时.

这是我用作其中一个视图模型的数据模板的xaml.

<DataTemplate DataType="{x:Type local:TabFileViewModel}">
        <StackPanel Orientation="Horizontal">
              <Image Width="16" Height="16" Margin="3,0" Source="Image\TabFile.PNG" />
              <TextBlock Text="{Binding Name}" ToolTip="{Binding FullPath}"/>
       </StackPanel>
</DataTemplate>
Run Code Online (Sandbox Code Playgroud)

我希望能够绑定到NotFound属性并更改图像源.

谢谢.
弥敦道

c# wpf xaml mvvm

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

拆分文件名 - 子串?

我有以下文件名:

SCO_InsBooking_1.pdf

SCO_InsBooking_10.pdf

SCO_InsBooking_100.pdf

SCO_InsBooking_1000.pdf

我正在使用FileInfo读取文件名并希望将其拆分,因此我只获得1,10,100或1000数字,我将如何实现这一目标?

.net c#

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

java检测对象中没有其他线程

我正在编写一个类(Foo),当实例化时,可以从多个线程调用它.

Foo类的大多数方法可以由多个线程并行安全地调用.此类的一个方法(logout())要求完成所有其他线程.

在调用logout之前,将从线程安全集合中删除对foo的引用.因此,没有新线程会获得对Foo对象的引用.但是,可能存在正在处理对需要注销的Foo对象的引用的现有线程.

我可以有一个计数器,每次线程进入对象时递增,并在每次线程离开时递减.在logout()中,我可以旋转while(counter!= 0);

但我认为可能有一个更好的定义方式/模式来做到这一点.在这里寻找stackoverflow社区的智慧.

java multithreading design-patterns thread-safety

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

'sprintf':C中的双精度

考虑:

double a = 0.0000005l;
char aa[50];
sprintf(aa, "%lf", a);
printf("%s", aa);

Output: s0.000000
Run Code Online (Sandbox Code Playgroud)

在上面的代码片段中,变量aa只能包含六位小数.我想获得像"s0.0000005"这样的输出.我该如何实现这一目标?

c

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

Python - 列表上的简单算法任务(求职面试的标准问题)

有2个输入列表L和M,例如:

L =  ['a',     'ab',  'bba']
M = ['baa', 'aa',  'bb']
Run Code Online (Sandbox Code Playgroud)

如何获得2个非空输出列表U和V,使得: ''.join(U) == ''.join(V)) is True和U的每个元素都在L中,并且V的每个元素都在M中?

例如,上面两个输入列表的一种可能解决方案是:

U=['bba', 'ab', 'bba', 'a']
V=['bb', 'aa', 'bb', 'baa']
Run Code Online (Sandbox Code Playgroud)

因为

 'bbaabbbaa' == 'bbaabbbaa' is True
Run Code Online (Sandbox Code Playgroud)

every element of ['bba', 'ab', 'bba', 'a'] is in ['a', 'ab', 'bba']

every element of ['bb', 'aa', 'bb', 'baa'] is in ['baa', 'aa', 'bb']

1)创建一个算法,找到至少一个解(U和V).

2)它可以在O(n)中求解,其中n = len(L + M)?

:WQ

python algorithm

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

如何修复"针对列调整的超出范围值"错误?

我进入phpMyAdmin并将整数(15)字段的值更改为10位数字,所以一切都应该正常工作.我输入值'4085628851',我收到以下错误:

警告:#1264超出范围值,已针对第1行的"电话"列进行了调整

然后它将值更改为'2147483647'.

经过一些谷歌搜索,我发现这篇文章解释了如何解决问题.http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/,但我不知道如何登录Mysql shell.

我如何登录Mysql shell?我该如何解决这个错误?

mysql range

17
推荐指数
3
解决办法
8万
查看次数

Vim在C中自动完成一个结构

我正在尝试使用Vim自动完成功能.我有一个struct档案def.h:

typedef struct test{
        int x;
        int y;
}*test_p,test_t;
Run Code Online (Sandbox Code Playgroud)

并在相应的C文件中:

test_p t;
t->[autocomplete here]
Run Code Online (Sandbox Code Playgroud)

我应该用什么来填充x或y?从内部也CTRLP没有CTRLN给我变量test.

我已经习惯了ctags,当然我也包括在内def.h.这是我的标签文件中的内容:

test    def.h   /^typedef struct test{$/;"      s
test_p  def.h   /^}*test_p,test_t;$/;"  t       typeref:struct:test
test_t  def.h   /^}*test_p,test_t;$/;"  t       typeref:struct:test
x       def.h   /^      int x;$/;"      m       struct:test
y       def.h   /^      int y;$/;"      m       struct:test
Run Code Online (Sandbox Code Playgroud)

c vim autocomplete

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

Python和JavaScript之间的语义有何不同?

这两种语言似乎与我非常相似.尽管Python支持实际的类而不是基于原型的类,但Python类与生成包含值和函数的对象的函数没有什么不同,就像在JavaScript中一样.另一方面,JavaScript仅支持浮点数和字符串作为内置数据类型.

这对我来说似乎是相当浅薄的差异,所以除了这些之外,它们之间有什么更重要的区别?

javascript python semantics

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