草庐IT

小部件

全部标签

c++ - Qt 删除 QVBoxLayout 上的小部件之间的空白区域

我有一个恼人的问题。我创建了QVBoxLayout,并在上面添加了我的小部件。这是我的构造函数中的示例:layout=newQVBoxLayout;layout->setMargin(0);layout->setContentsMargins(QMargins(0,0,0,0));layout->setSpacing(0);然后我有添加小部件的功能。layout->addWidget(_wave);_wave是我自己的小部件。但是你可以添加任何你想要的,例如QButton。我想要达到什么目的?Similarlikethis但在添加到布局的小部件之间没有任何空格。只有QButtons或其

c++ - Qt:在显示之前更新隐藏的小部件?

我有两个QDialog堆叠在一起,一些数据在它们之间共享,显示在每个对话框布局的QWidget中(一个以图形方式显示计数的小部件)。在当前显示的QDialog中,用户可以更改该数据。此更改会传播到两个小部件,并且正确的计数会显示在当前QDialog中。但是,当用户关闭该QDialog并且下面的QDialog变为可见时,显示计数的QWidget会在一瞬间显示旧值,然后更新为正确的值。我知道下面的QWidget在显示另一个QDialog之前具有正确的值,但我似乎无法让对话框在它可见之前进行更新。我在它仍然隐藏的时候试过了:hiddenDialog->layout()->activate()

c++ - QTreeWidget 中的 QT 可点击小部件(可能是按钮)?

我有一个基本上是QTreeWidget的表格,我想在其中放置一个可点击的小部件,可能是一个按钮。每行都是一个QTreeWidgetItem,但我不知道如何使用QTreeWidgetItem::setData添加按钮 最佳答案 这是对Qt文档中为QTreeWidget添加QPushButton到第二项中提供的示例的修改ui->treeWidget->setColumnCount(1);QListitems;for(inti=0;itreeWidget->insertTopLevelItems(0,items);ui->treeWidg

c++ - Qt:如何将两个小部件(比如 QPushButton)添加到状态栏,一个在左侧,另一个在右侧?

我想向状态栏添加两个小部件(比如QPushButton),一个在左侧,另一个在右侧。我正在考虑在两个小部件之间添加水平分隔符,但不知道如何添加。PS:我尝试使用addWidget()添加到左侧,使用addPermanentWidget()添加到右侧,但它看起来不整洁,而且它不'感觉不错。 最佳答案 您可以将两个按钮添加到小部件中的布局,并使用QStatusBar::addWidget将小部件添加到状态栏:QWidget*widget=newQWidget();QPushButton*leftBut=newQPushButton("L

c++ - Qt 图表和数据可视化小部件

我已经安装了Qt5.7以尝试Qt图表和Qt数据可视化,但我在QtDesigner和QtCreator中都找不到新的小部件。有什么建议我应该怎么做才能让新的小部件出现在设计器中? 最佳答案 我今天遇到了完全相同的问题。默认情况下,QTCharts的QTDesigner插件似乎不是包的一部分。我最终从githubhttps://github.com/qtproject/qtcharts/tree/5.7/plugins/designer下载了设计器插件源。这仅包含5个文件。然后您应该能够在QtCreator中打开designer.pro

c++ - 删除小部件后qt调整窗口大小

我在布局中添加小部件ui->horizontalLayout->addWidget(tabwidget);并且qmainwindow会自行调整大小。但后来我做了tabwidget->setVisible(false);qs=sizeHint();resize(qs);我得到的大小就像tabwidget没有从窗口中删除一样。我做了新的按钮voidMainWindow::on_pushButton_2_clicked(){qs=sizeHint();resize(qs);}它给出了正确的尺寸。似乎我需要一些更新功能,但我找不到。请指教 最佳答案

c++ - Qt QMainWindow 中央小部件删除

我的应用程序需要用户在多个屏幕之间切换。我这样做的方法是为每个屏幕创建不同的QFrame,然后将Qframes设置为MainWindow上的中央小部件。问题是每次我调用setCentralWidget(frame)时,旧框架都会被删除,我以后无法访问它。如何保存那个旧框架以便我以后可以访问它?如果我的问题不清楚,请告诉我。 最佳答案 您可以从QMainWidow中删除您的中央小部件,重新设置它的父级。然后,你可以设置新的centralWidget;QWidget*savedWidget=mainWnd->centralWidget(

【知识案例分享】蓝光3D扫描技术为航空精密零部件提供高精度三维检测

·蓝光三维扫描航空制造是尖端技术的集成,而先进产品的研制生产必然带动尖端技术的发展。航空制造对产品质量的要求最为苛刻,需要进行高精度三维检测,确保最终零部件型面与设计图无限趋近,避免偏差过大影响零部件性能。对于高精密、规则零部件的测量,三坐标接触式测量精度高,测量数据可靠,仍然是这类零部件工业计量的首选。但是对于复杂曲面、大尺寸、现场测量,三坐标测量则不适用,它需要通过监测点接触进行检测,无法高效获取完整型面的准确数据,在效率、测量环境方面也有诸多限制。在轮廓复杂、曲面多样的航空零部件测量需求下,采用蓝光3D扫描技术有助于优化工作流程。新拓三维XTOM高精度蓝光三维扫描仪,可提供从数据扫描到报

C++ - 为什么要在堆上创建这些小部件?

当使用C++和Qt创建GUI时,您可以创建一个标签,例如:QLabel*label=newQLabel("Heyyou!",centralWidgetParent);这会在堆上创建对象并将一直留在那里,直到我手动删除它或父对象被销毁。我现在的问题是为什么我需要一个指针?为什么不在堆栈上创建它?//CreateamembervariableofClassMainWindowQLabellabel;//SetparenttoshowitandgiveatextsotheusercanseeitQWidget*centralWidget=newQWidget(this);//Neededto

c++ - 在 Qt 的单个小部件中添加复选框列表

我正在使用QtCreator2.0.1(Qt4.7)。我需要一个可以垂直放置多个复选框的小部件。复选框将在用户与其他UI元素交互时动态添加到小部件。该小部件将具有固定的宽度和高度,因此如果复选框太多,则会出现一个垂直滚动条。我想要的是,想象一个QListWidget,其中的列表项可以是复选框。哪个小部件允许我这样做?谢谢。 最佳答案 好吧,你确实可以使用QListWidget带有可检查项目(参见voidQListWidgetItem::setFlags,或使用包含QWidget的QScrollArea,您可以在其中动态添加QChec