标签: qt4

如何在Qt中模拟用户交互(按键事件)?

我需要在Qt中模拟"输入"键事件.我怎样才能做到这一点?

qt qt4 keyevent

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

如何在Windows 7上使用ruby 1.9.2运行Qt4?

摘要

我正在使用Qt4编写一个Ruby 1.9.2应用程序用于GUI,我想在Linux,OS X和Windows上分发它.除了我的Windows 7 64位盒子外,我的应用程序运行正常.

有Win7 + Qt4 + 1.8.7的工作示例,但显然不是Win7 + Qt4 + 1.9.2.有两种宝石的Ruby-QT绑定,qtbindingsqtruby4(有时被称为qt4-qtruby),但我还没有看到任何人使用Ruby 1.9.2 Win7上运行.

问题 qtruby4

这篇文章从2008年10月开始,它的更新版本从2011年6月起作为很好的起点,但是我通过RubyInstaller for Windows的下载页面安装Ruby 1.9.2与后者不同.1.8.7似乎工作正常,但是当我用1.9.2尝试时,我得到了一些不寻常的错误.要求'rubygems'然后要求'Qt'结果:

no such file to load -- 'qtruby4'
Run Code Online (Sandbox Code Playgroud)

上面的第一篇文章链接到dr1ku的一篇更深入的文章,可能会提供一些线索.

  • 使用这些库的最新版本重现dr1ku的步骤可能是值得的.
  • dr1ku和2008 paschenda.org文章都使用了一个特殊的Windows Qt4-QtRuby安装程序,但维护者指出他没有时间更新它.我并不完全清楚特殊安装程序的功能,但我认为paschenda.org的2011年文章不再使用它,因为DevKit表面上可以帮助RubyGems自己构建Qt4而无需帮助.

在野外发现

以下是一些似乎遇到同样问题的人:

问题 qtbindings

我的应用程序实际上使用的qtbindings宝石,所以我尝试安装该相反,与gem install qtbindings --platform=mswin32[1]然而,当我试图,require 'Qt' …

ruby qt4 qtruby windows-7 ruby-1.9

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

如何在引擎盖下实现信号和插槽?

这个问题已在本论坛中提出,但我不明白这个概念.

我正在四处阅读,似乎信号和插槽是使用函数指针实现的,即信号是一个很大的函数,它在里面调用所有连接的槽(函数指针).它是否正确?在整个故事中生成的moc文件的作用是什么?我不明白信号功能如何知道哪个插槽要调用,即哪个插槽连接到该信号.

谢谢你的时间

qt qt4 signals-slots

23
推荐指数
2
解决办法
4692
查看次数

是否有第三方QT GUI控件的良好来源?

我试图通过谷歌找到它们,但没有太多运气.我知道第三方控件的数量没有.NET或Java那么大,但肯定有一些比库提供的更好吗?

qt qt4 qt-creator

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

如何以编程方式在QTableView列上设置文本对齐方式?

到目前为止,我发现的唯一解决方案是继承QItemDelegate并在paint()函数中实现我的对齐规则.这真的是最简单的方式吗?

我正在使用C++ API.

qt qt4 pyqt pyqt4

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

如何重启我自己的qt应用程序?

我只是问自己如何重启我自己的qt应用程序?

有人能告诉我一个例子吗?

c++ qt qt4 application-restart

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

QWidget调整大小信号?

我想在调整小部件大小时采取行动.

有没有办法在没有在该窗口小部件上安装事件过滤器的情况下捕获它(显然,没有子类化它)?AFAIK,QWidget没有resized信号.

qt qt4 pyqt pyqt4

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

如何在MySQL中插入BLOB和CLOB文件?

我想使用我的软件的前端存储图像和.docx/.doc,.pptx/.ppt,.pdf文件.我不明白如何实现它以及如何将BLOB和CLOB文件插入表中.请帮忙.

我正在使用Kubuntu 11.04,MySQL5,Qt 4.7.3.

mysql ubuntu qt4

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

Qt事件循环和单元测试?

我开始尝试在Qt中进行单元测试,并希望听到有关涉及单元测试信号和插槽的场景的评论.

这是一个例子:

我想测试的代码是(m_socket是指向QTcpSocket):

void CommunicationProtocol::connectToCamera()
{
    m_socket->connectToHost(m_cameraIp,m_port);
}
Run Code Online (Sandbox Code Playgroud)

由于这是一个异步调用,我无法测试返回的值.但是,我想测试套接字在成功的connection(void connected ())上发出的响应信号是否实际发出.

我在下面写了测试:

void CommunicationProtocolTest::testConnectToCammera()
{
    QSignalSpy spy(communicationProtocol->m_socket, SIGNAL(connected()));
    communicationProtocol->connectToCamera();
    QTest::qWait(250);
    QCOMPARE(spy.count(), 1);
}
Run Code Online (Sandbox Code Playgroud)

我的动机是,如果响应不会在250毫秒内发生,那就是错误的.

然而,信号永远不会被捕获,我无法确定它是否发射.但我注意到我没有在测试项目的任何地方启动事件循环.在开发项目中,事件循环以main开头QCoreApplication::exec().


总结一下,当单元测试一个依赖于信号和插槽的类时,应该在哪里

QCoreApplication a(argc, argv);
return a.exec();
Run Code Online (Sandbox Code Playgroud)

在测试环境中运行?

qt unit-testing qt4 event-handling event-loop

23
推荐指数
2
解决办法
7855
查看次数

Qt接口或抽象类和qobject_cast()

我有一组相当复杂的C++类,它们是用Java重写的.因此每个类都有一个继承的类,然后它还实现了一个或多个抽象类(或接口).

是否可以使用qobject_cast()从类转换为其中一个接口?如果我从中导出所有接口QObject,由于模糊QObject引用,我会收到错误.但是,如果我只继承了基类QObject,我就无法使用,qobject_cast()因为它与QObjects一起运行.

我希望能够在它们的接口引用的插件和DLL之间抛出类.

c++ qt interface qt4 qobject

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