草庐IT

Qt-Advanced-Docking-System

全部标签

c++ - 如何在qt中同时移动滚动条

我有两个View,它们的视角分别是xy和xz。这些View有自己的滚动条,并且这些View的x侧是相等的。当我移动x边的滚动条时,我希望x个滚动条同时移动。View类是QGraphicsView,这些View的滚动条是它们自己的滚动条。我怎样才能做到?任何帮助将不胜感激。谢谢 最佳答案 如果我没理解错的话,您可以简单地执行以下操作(如果您使用QScrollBar作为滚动条)connect(firstScrollbar,SIGNAL(valueChanged(int)),secondScrollbar,SLOT(setValue(in

c++ - 我可以访问超出范围的对象的 Qt 信号/槽吗?

Qt信号/槽是否遵循原生C++的范围?假设我有以下类:House、Kitchen、Cellar、Stove和Shelf。classHouse{Kitchenkitchen,Cellarcellar;};classKitchen{Stovestove;};classCellar{Shelfshelf;};现在我想从地窖的架子向厨房的炉子发送信号。唯一的方法是将信号从架子连接到地窖,将插槽从厨房连接到炉子,然后在室内连接地窖和厨房吗?或者有没有办法直接做到这一点?我有一个类需要与用户界面通信,我想知道是否需要通过中间类“代理”所有各种信号/槽。或者这是糟糕设计的标志?

c++ - Qt drawRect 在后台

我想绘制slider的背景。我试过了,但是颜色覆盖了整个slider。这是在QSlider的继承类中voidpaintEvent(QPaintEvent*e){QPainterpainter(this);painter.begin(this);painter.setBrush(/*notimportant*/);//Thiscoversupthecontrol.HowdoImakeitsothecolorisin//thebackgroundandthecontrolisstillvisible?painter.drawRect(rect());painter.end();}

c++ - Qt 小部件(带布局)空间。它是什么?如何去除?

我编写了一个使用小部件作为容器(用于其他小部件)的程序。因为容器的内容随着程序的生命周期而变化,所以容器小部件有一个与之关联的布局,因此它可以适本地调整大小。问题是容器似乎占用了一些空间。在下面的程序中,我重现了这个问题:我有一个带有几个标签的组,其中一个包含在一个容器中(小部件w-及其布局t-包括标签“那是什么额外的空间?”)。我的目标是让所有标签之间的间距相同,无论它们是否在容器中。(容器不应该占用空间)我还尝试为小部件的不同部分着色。我的填充在哪里?小部件之间(蓝色之间)的额外空间是多少。我该如何删除它?#include#include#include#include#inclu

c++ - Qt通过代码关闭一个正在运行的窗口

我有一个打开另一个窗口的程序,我想关闭旧窗口。是否有一些功能或东西可以通过代码关闭窗口但保持另一个窗口运行? 最佳答案 this->close();或close();引用:http://doc.qt.digia.com/4.7/qwidget.html#close 关于c++-Qt通过代码关闭一个正在运行的窗口,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/11749262/

c++ - Qt Designer,上下文菜单中缺少 "go to slot"?

我一直在YouTube上观看Qt教程系列,其中作者展示了如何在按下按钮时调用函数。Heright-clickedonthebuttoninQtCreatorIDEandchose"Gotoslot",fromwherehechosethesignalwhichwouldfirethegeneratedfunction.由于我习惯于使用Netbeans进行开发,因此我只是尝试使用嵌入式QtDesigner来学习他的示例。不幸的是,当我右键单击我的按钮或任何小部件时,没有“转到插槽...”条目。当然,我可以为我的主窗口创建一个新插槽,然后将按钮的信号连接到它,但是用一个函数来完成它对我来说

c++ - 为什么这个程序抛出 'std::system_error' ?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whydoesthissimplestd::threadexamplenotwork?代码:#include#includevoidf(){std::cout问题:$g++-othread_testthread_test.cpp-std=c++0x$./thread_testterminatecalledafterthrowinganinstanceof'std::system_error'what():OperationnotpermittedAbortado“Abortado”在我的语言环境中表示“中止”

c++ - Visual Studio 2010 和 win7 64 位上的 Qt

我决定开始在我的win7(64位)上使用Qt。我下载并安装了qt-win-opensource-4.8.4-vs2010.exe和qt-vs-addin-1.1.11-opensource.exe。现在我可以在Win32上运行Qt项目,但我想要或需要在Win64模式下运行它们。当我尝试这样做时,我收到此错误消息there'snoQtversionassignedtothisprojectforplatformx64Pleaseusethe'changetheQtversion'featureandchooseavalidQtversionforthisplatform.知道我该如何解决

c++ - 包含在 header 或 cpp 中——Qt 中首选的是什么

当我写一个C++类时,我只在头文件中包含了特定情况。我更喜欢前向声明,我相信这是C++中的最佳实践。但是Qt类通常有很多属于标准Qt类的字段,因此将它们全部写在前向声明中似乎不是一个好主意。有什么首选方法吗?Qt有大量的文档,所以我认为它已经回答了我的问题,但我才刚刚开始阅读它。 最佳答案 我的规则是头文件只包含那些定义相关头文件使用的功能的文件。假设您在header中有指向某个类Foo的指针和引用,但header从未插入或实例化这些对象。在这种情况下,您不需要类的定义。您只需要一个前向声明。另一方面,如果您插入类型为Foo的对象,

c++ - QT Creator 无法解析一个非常简单的项目

我在QTcreator中创建了一个非常简单的工程,*.pro文件如下:HEADERS+=inc\1.hSOURCES+=src\1.cpp这是源代码://1.hconstintC=1;//1.cpp#include"1.h"intmain(){returnC;}QTCreator成功打开此“项目”,但无法解析。F2对C常量不起作用,找不到1.h头文件。请查看描述问题的屏幕截图:最奇怪的是,在我安装了类似QTSDK5.0的另一台机器上,似乎完全相同的东西也能正常工作!你能告诉我哪里错了吗? 最佳答案 HEADERS应该列出您自己项目的