草庐IT

小部件

全部标签

c++ - Qt 中小部件集合的内存管理

很抱歉提出这个愚蠢的问题,但我是第一次使用Qt和C++,并且正在学习教程和一些示例。提到的一件事是不需要明确删除Qt内容。那么,主要问题,这是否也适用于Qt东西的集合?比如说我想要动态数量的MyWidget,所以我保留了一个vector或其中的任何一个。他们还在照顾我吗?作为附带问题,是什么让我不必担心析构函数? 最佳答案 Qt内存管理模型基于父子关系。Qt类将可选的parent作为其构造函数的参数。新实例向该父实例注册,以便在删除父实例时将其删除。如果您使用的是Qt集合(例如QList),我相信您可以将列表设置为其条目的父级。如果

c++ - Qt:QScrollArea 中的自定义小部件

我正在尝试创建自定义小部件。我的小部件呈现自身,除非它在滚动区域内。下面的代码有效。如果我在MainWindow构造函数中将if(0)更改为if(1),它将不会呈现“HelloWorld”字符串。我假设我必须(重新)实现一些额外的方法,但到目前为止我还无法通过反复试验找到正确的方法。//hellowidget.h#ifndefHELLOWIDGET_H#defineHELLOWIDGET_H#includeclassHelloWidget:publicQWidget{Q_OBJECTpublic:HelloWidget(QWidget*parent=0);voidpaintEvent(

博客作者:仅在特定作者的帖子中显示小部件

我尝试在特定作者的帖子中显示特定的小部件(我有一个多作者博客)。例如。作者1的小部件1,作者2E.T.C.的小部件2或针对特定作者的小部件中的特定内容(例如,小部件1:作者1的内容A,窗口小部件1:作者2等的内容B等)实际上,我尝试为特定小部件中的每个作者使用不同的ADS代码。当我将带有ADS代码的JavaScript放在文章正文下方(在同一小部件​​内部带有帖子内容)时,一切都可以。我用声明,它运作完美。但是,当我尝试在模板的另一个小部件中执行相同的操作时(我使用相同的语句然后,系统无法识别帖子的作者,if语句永远不会正确,因此我在小部件中没有内容。看答案data:post.author属于

c++ - 是否可以从 qt QColumnView 中删除预览小部件?

我需要在qtView中显示一组分层数据。我正在使用QColumnView来显示模型。但是,有一个功能可以将View中的最后一列降级为预览小部件。有可能隐藏这个吗?例如,像view.setPreviewWidget(NULL)这样的东西,尽管这会破坏程序编辑:我应该澄清一下,我想要一种完全隐藏最后一列的方法,即让我View中的最后一列成为模型的“叶子”,并且没有预览空间 最佳答案 这将在单击时隐藏按钮。#include#include#include#includeintmain(intargc,char*argv[]){QAppli

c++ - 如何在 Qt 中创建类似连续子表单(小部件)的 ms-access?

我正在考虑将我的访问应用程序移植到Qt。我有兴趣学习如何做连续的子表单,子自定义小部件,用于以真正可滚动的非数据网格方式呈现/编辑/插入记录集中的数据。这意味着我可以为每条记录放置按钮、标签、组合、lineEdit...等等。我喜欢QTableView和委托(delegate)。我只是不知道是否可以修改它以完全模拟访问子表单。附带问题(可能是相同的答案)...他们如何在后台访问这些连续表单。谢谢...不是该示例记录集中的真实应用程序数据 最佳答案 QtMVC可能是您问题的最佳/最简单的答案(http://qt-project.org

c++ - 根据子窗口小部件调整 QMainWindow 的大小?

父子层次结构如下:mainWindow->centralWidget->frame->widget。小部件在应用程序生命周期内会调整大小,但它始终设置为固定大小。我希望QMainWindow基于此调整大小-具有显示所有小部件所需的最小大小。为此,我目前必须这样做。widget->setFixedSize(x,y);frame->setFixedSize(frame->sizeHint());centralWidget->setFixedSize(centralWidget->sizeHint());mainWindow->setFixedSize(mainWindow->sizeHin

c++ - 在 Qt 中将一个小部件与另一个小部件交换

在现有View中将一个QGraphicsWidget与另一个“交换”的最佳方法是什么?我有一个TreeView小部件和一个标签小部件,我希望它们在不同时间占据相同的空间。具体来说,当有错误时,我想在标签中显示它,当没有错误时,我想显示树。我曾尝试以编程方式隐藏一个并使用hide()和show()显示另一个,但问题是隐藏的小部件占用了我的QGraphicsLinearLayout即使它被隐藏,也会留下空白。或者,我想我可以在布局中添加和删除小部件,但这似乎很笨拙,因为它意味着小部件所有权的变化,我需要记录它们在布局中的位置,以便我可以将它们插入回正确的地方。在JavaSwing中,我会使

c++ - 如何在 QLayout 中查找给定类型的小部件?

我能够找到QRadioButton这样:for(inti=0;iverticalLayout->count();i++){QRadioButton*r=qobject_cast(ui->verticalLayout->itemAt(i)->widget());if(r->isChecked())//foundit!}但我不喜欢这种遍历元素的方式,我想使用foreach构造。我的第一次尝试失败了:foreach(QRadioButton*child,ui->verticalLayout->findChildren()){if(child->isChecked())//foundit!}问

c++ - 我如何在 Qt 中的小部件下绘制阴影?

我想知道如何在Qt中的小部件(不是主要小部件,例如标签)下绘制阴影。我需要使用样式表还是对其进行编码(使用C++)? 最佳答案 假设您有一个表单和一个标签,您希望从中转换阴影。您可以使用QGraphicsDropShadowEffect像这样:QGraphicsDropShadowEffect*effect=newQGraphicsDropShadowEffect;effect->setBlurRadius(5);effect->setXOffset(5);effect->setYOffset(5);effect->setColor

c++ - 为 QGraphicsView 小部件设置纯背景颜色

我正在尝试显示一个纯色的小方block。我创建了一个QGraphicsView小部件myGraphicsView并调用:ui->myGraphicsView->setBackgroundBrush(QBrush(Qt::red,Qt::SolidPattern));但它保持白色。我做错了什么? 最佳答案 在绘制任何内容之前,您需要将QGraphicsScene设置为QGraphicsView:ui->myGraphicsView->setScene(myScene); 关于c++-为QG