简单qt-gui;重复的小部件
Simple qt gui; repeated widget
我对qt相对陌生,但我正在尝试制作一个简单的gui,在其中键入参数,然后将其写入文本文件。
在某个时候,我想在n中读取以下形式的参数集
1) x_min x_max y_min y_max t_min t_max
2) x_min x_max y_min y_max t_min t_max
n) x_min x_max y_min y_max t_min t_max
其中数字为QLabel类型,其余为QSpinBoxes。行数由用户决定,但是0>=n<50。我只想显示n行,这样就不会显示未使用的行。
我需要一种有效的方法来处理这个问题,尤其是用最少的harcodeing来阅读每一行的信息。
我的想法是创建一个新的小部件类(newRowClass),它包含每一行的信息,然后将其放置在QVector中。然后我可以遍历QVector并读取每行的信息——这里每行的接口应该是相同的,这将使它相对高效。然而,我在高效组织这件事上遇到了问题,我不确定我是否朝着正确的方向前进。
我们非常感谢所有关于如何做到这一点的想法/建议。
一切顺利,
Bo
如果可以的话,我会推荐一个不同的实现路径。与其让一组重复的小部件使用一个表来允许用户输入数据,不如使用一个表格。
首先,我建议阅读一些关于Qt模型/视图编程的知识。这将为您提供更多关于如何组织数据的信息。
接下来,如果您需要支持不同的View类,我建议您使用QAbstractTableModel或QAbstract ItemModel。如果您使用QAbstractTableModel
,请将其设置为QTableView上的model
。
确保您正确实施model
以确保您的数据可编辑,例如阅读有关Qt::ItemIsEditable
的更多信息
这应该为您指明正确的方向,使您可以自定义一系列行(例如,model
中的行数),并可以进行编辑以允许用户输入x、y、t最小值/最大值。
您可以创建一个表示一行的小部件,包括您的不同输入"min"answers"max"。添加公共方法以获取这些用户输入。
然后在主窗体中,在滚动区域中添加该小部件的几个实例。你把所有实例的指针都放在一个列表中,你就可以迭代它们来检索你想要的信息。
这是非常方便的,进化到一个细胞会更容易。
- Qt GUI使用Qfiledialogbox和qlabel显示视频,这是我的代码
- 试图打开并读取一个.txt文件,但它从原始文件中删除了实际文本(Qt GUI C++
- 是否可以在QT GUI应用程序中处理事件时播放加载动画指示器?
- 创建小部件的GUI菜单不会出现在QT创建者中
- 从其他std ::线程更新QT GUI
- 无法使用 Visual Studio 2010 和 Qt 版本 4.8.0 创建"Qt Gui Application"
- "hijacking" 给定根 QWidget* 的 Qt gui
- 尽管有线程,Qt GUI 仍挂起
- C++ Qt GUI update
- 在QT GUI中创建一个全局对象
- 在已经运行的C 控制台应用程序上实现QT GUI
- QT GUI最简单的方法可以从另一堂课访问MainWindow
- 通过Qt-tcp套接字更改Qt-GUI
- ROS-Qt GUI - 如何分发线程
- 由于线程问题,Qt-Gui没有更新
- 为Python逻辑创建一个C++Qt Gui
- Qt GUI应用程序在与GUI交互时停止实时进程
- QT gui 项目不会缩小到 ft 到它们的父小部件
- 简单qt-gui;重复的小部件
- QT 小部件与 QT GUI