草庐IT

Qt-Quick

全部标签

c++ - 是什么让 Qt 小部件及其布局正确运行(就其大小而言)?

我在使用Qt时遇到了各种大小问题。我正在创建自己的小部件并使用不同的布局(通常,我需要自己的小部件才能使它们正常工作,而无需在“强大的”默认布局上花费数小时......这不会按预期进行布局。)一旦我完成了一个小部件及其布局,它就无法正常工作。除非我调用widget->resize(1,1);,否则尺寸永远不会正确设置最终强制“调整大小”并使小部件看起来正确(即重新计算几何形状。)甚至updateGeometry()调用无效。这是一个可怕的问题,当resize()需要在父小部件上调用(糟糕!)并且从我正在阅读的内容来看,如果布局正确编程,则不需要。是否有一个有效的示例并且没有几千行长,或

c++ - 如何在 Qt 中分层独立的小部件?

我正在使用Qt创建一个应用程序,它包含一个用作应用程序背景的小部件,以及一个float在上方的用户控制界面。一个类似的例子是谷歌地图,map在背景上,控件在背景之上。但问题是背景小部件可以更改为不同的小部件(有一个显示map的小部件,另一个显示视频源的小部件,...)用户控制界面中的按钮也是如此,它们与当前背景没有直接关系,可以动态改变。我试过使用QStackedLayout,使用两层,背景小部件和用户控制界面。但是你不能与背景层交互,因为所有的点击都被前面的小部件阻止了。有什么建议吗? 最佳答案 您可以使用QObject::ins

C++ (Qt) 模拟键盘输入、sendkeys、send kestrokes等的跨平台库

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。有人知道用于模拟键盘输入的真正的跨平台C++库吗?我将通过google和stackoverflow进行研究,但既没有找到基于Qt的库,也没有找到适用于Windows、Linux/X11和MacOSX的通用C++库。只有一些代码片段可用,如下所示:window:有大量示例如何通过keybd_event函数实现这一点。Linux:http://www.doc

c++ - Qt 我可以在构造函数中将信号/槽连接到自身吗?

编辑:与信号/插槽/连接无关。问题是构造函数调用构造函数。可能有更好的方法来做到这一点-我很想听听那些......我有一个派生自QLabel的MyClass。我想在信号中传递更多关于派生类的数据,而不是基本信号所做的。所以我创建了一个插槽来拦截customContextMenuRequested信号并发出一个包含更多数据的修改后的信号。当我尝试在构造函数中连接此信号时,我的插槽永远不会被调用。但是如果我移动Policy并将线连接到父窗口小部件(不是类层次结构父窗口)以便它们在MyClass完全构建后执行,那么我的插槽将被调用。但我一直希望为这个类连接它,这似乎是我想要在它的构造函数中使

c++ - 将信号从 QML 连接到 Qt 5.1

我想使用qt5.1将qml信号连接到qt插槽。我不能在这个版本的qt中使用DeclarativeView。我的qml元素是一个简单的矩形,在onClicked事件上启动信号。Rectangle{id:testwidth:200height:50x:10y:10signalqmlSignal()MouseArea{hoverEnabled:falseanchors.fill:parentonClicked:{console.log("geklickt")test.qmlSignal()}}我有一个带有此header的SignalslotlistView类:classSignalslotl

c++ - 将图像从 Haskell 后端交互发送到 Qt QUI 的最佳方法

我正在构建一个由两部分组成的应用程序:QtQuickGUI(C++)和使用repa处理图像的Haskell后端和accelerate包裹。我想在GUI中以交互方式显示图像。我不希望复制数据,而是使用某种共享内存或任何其他机制,这将使我获得最大的性能。在C++GUI中以交互方式“传输”和显示这些图像的最佳方式是什么?我听说了HQK和qtHaskell,但它只支持qtquick到v4.8(我们需要v5.0-v5.2) 最佳答案 我不确定Haskell,但在lablqt(我用于构建QtQuick+OCaml应用程序的库,http://ka

c++ - 在 QT 中从一个 QToolButton 切换到另一个

我想从一个QToolButton切换到QToolBar中的另一个。我使用过QStackedWidget,从一个widget移动到另一个太简单了,但在这里我无法通过使用keyReleaseEvent.mywindow::mywindow():QMainWindow(){widget=newQWidget();setCentralWidget(widget);tool=newQToolBar();vertical=newQVBoxLayout();button1=newQToolButton();connect(button1,SIGNAL(clicked()),this,SLOT(fil

c++ - 在 QT 中创建我自己的异常并在函数中抛出异常

我正在尝试在Qt中创建自己的异常类。这是我第一次这样做,我很困惑如何将我的豁免扔到main中调用的函数中。我目前拥有的:myExcption.h#ifndefMYEXCEPTION_H#defineMYEXCEPTION_H#include#includeclassMyException:publicQtConcurrent::Exception{public:voidraise()const{qDebug()现在我如何抛出豁免是这样的:myFuction.hvoidCommands(QStringCommand_in,MyException&wrongInput);myFunctio

c++ - 如何更改 Qt 中的窗口标题和中央小部件?

您好,我在Qt中更改窗口标题和中央小部件时遇到问题。有主窗口:classMainWindow:publicQMainWindow{//(...)QStackedWidget*widgets;Quiz*widget1,*widget2;}还有一个类测验:classQuiz:publicQWidget{publicslots:voidmyClicked();}我想在单击按钮后更改MainWindow标题,这是Quiz的一个元素(它与slotmyClicked相关联)。voidQuiz::myClicked(){static_cast(parent).myFunction();}voidMa

c++ - 如何并行运行多个 Qt Quick 测试?

看起来QtQuick测试需要测试窗口有一个焦点,以便发送鼠标和键盘事件。没关系,当我只运行一个测试时。但是当我尝试运行QtQuick测试的多个实例时,它们会争夺窗口焦点,这会导致测试失败。如何在不聚焦测试窗口的情况下执行QtQuick测试?是否有任何选项可以强制QtQuick使用假的鼠标和键盘事件而不是使用真实的窗口系统?如何在没有焦点问题的情况下运行QtQuick测试的多个实例? 最佳答案 好吧,我会咬。您可以使用一些C++事件发布将单个事件重定向到多个QML窗口:classDispatcher:publicQObject{Q_O