- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将描述我的问题。
我有一个选项卡类,大致如下所示:
class Tab : public QWidget
{
public:
Tab();
...
private:
...
QGraphicsView *view;
...
};
在 Tab()
中,我创建了 view
。现在在我的主窗口中我想要一个 QTabWidget
,它包含一些选项卡,其中每个选项卡显示一个 QGraphicsView
。它看起来大概是这样的:
class MainWindow : QMainWindow
{
public:
MainWindow();
...
private:
...
QTabWidget *tabWidget;
...
};
和
MainWindow::MainWindow()
{
tabWidget = new QTabWidget(this);
tabWidget->addTab(new Tab, tr("tab 1"));
tabWidget->addTab(new Tab, tr("tab 2"));
setCentralWidget(tabWidget);
}
这不会在选项卡中显示 QGraphicsView
。要使 QGraphicsView
可见,我必须这样写:
MainWindow::MainWindow()
{
tabWidget = new QTabWidget(this);
tab1 = new Tab;
tab2 = new Tab;
tabWidget->addTab(tab1->view, tr("tab 1"));
tabWidget->addTab(tab2->view, tr("tab 2"));
setCentralWidget(tabWidget);
}
和 view
必须在类 Tab
中公开,这看起来确实很糟糕。 Tab
类有一些私有(private)函数,用于构造view
,我不希望view
在Tab中公开
。
如何解决这个问题?
我正在考虑创建一个类,它继承自 QGraphicsView
并添加我自己的函数,但我不太确定如何执行此操作以便它适合我。
感谢您的回答和评论。
最佳答案
这很可能是因为 Tab
没有布局(或者您甚至没有将 view
添加为 Tab
小部件的子项) .您没有显示 Tab
构造函数,所以我不能确定。
如果一个选项卡只能包含一个 View ,那么您需要从 QGraphicsView
而不是 QWidget
派生 Tab
类。额外的 view
类成员应该被移除,您可以像使用 QGraphicsView
对象一样使用 Tab
对象。
如果一个选项卡可以包含其他小部件,那么您应该向您的 Tab
对象添加一个布局,并将 View 和其他子项添加到该布局。示例:
Tab::Tab() {
QVBoxLayout* main_layout = new QVBoxLayout(this);
view = new QGraphicsView();
main_layout->addWidget(view);
}
关于c++ - Qt QGraphicsView : Displaying QGraphicsView inside a tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17431139/
我总是在使用 QGraphicsScene 坐标系时遇到问题。我的场景创建起来非常简单,如下所示: scene = new QGraphicsScene(this); this->setScene(s
我将描述我的问题。 我有一个选项卡类,大致如下所示: class Tab : public QWidget { public: Tab(); ... private: ... QG
我正在尝试使用 QGraphics 变换矩阵进行平移和缩放。缩放有效,但平移参数 m31 和 m32 无效。看起来还有一个以场景为中心的功能。在下面的代码中,我操纵 rectScene 进行平移,但为
我想做一个 QGraphicsScene并显示在 QGraphicsView .我想通过鼠标中键滚动场景并通过左键选择橡皮筋。但我不知道如何使橡皮筋选择仅通过鼠标左键出现。 这是我的代码: # -*-
我将 QGraphicsView 子类化并在我的布局中显示小部件。在 View 中,我自然有 QGraphicsScene。 我可以很好地检索 QGraphicsScene 大小(即我设置的 2100
我想在我的 (Py)Qt 应用程序中的 QGraphicsView 上实现滚动/平移功能。它应该是这样工作的:用户按下鼠标中键, View 随着用户移动鼠标而滚动(这是一个非常常见的功能)。 我尝试使
我的QGraphicsView项目比其背景图像大很多,但我希望该背景图像仅绘制一次。现在,整个事物都被背景图像填充了多少次,只要有足够的空间即可。 那么,如何强制将背景图像仅绘制到 View 中心一次
我想要一个永远不会自动滚动的 QGraphicsView。 类似:基本上,我的问题与 http://developer.qt.nokia.com/forums/viewthread/2220 相同,但
在我的应用程序中,我添加了添加了像素图的 QGraphicsScene,并且所有内容都在关闭滚动条的情况下在 QGraphicsView 中查看。程序窗口比像素图小,当我按箭头键或移动鼠标滚轮时,像素
我想将声子视频小部件放置到 qgraphicsscene 上,以便我可以覆盖图形等。当我运行以下命令时,我听到声音,但 qgraphicsview 上没有播放视频。我将不胜感激,因为我认为我正在做示例
我有一个带有“ScrollBarAlwaysOff”垂直滚动条策略的 QGraphicsView。问题是,当我调整 View 的大小(通过 QSplitter 或仅通过调整窗口的大小)时, View
我正在 PyQt 中使用 QGraphicsView 构建一个 GUI,它将显示互连项目的大型网络,并且我希望能够叠加一个较小的门户来显示网络的远处部分 - 有点像“画中画” “之类的事情。这本身并不
您好,我有一个 GridLayout,上面有 64 个 GraphicsView(我知道它很多,但这是我目前唯一能想到的方法)。现在,我目前只是在计时器刻度上在这些图形 View 中的每一个上绘制一条
如何将新的矩形附加到 QgraphicView 在此代码中,当单击按钮时创建矩形。但是当我第二次单击按钮时,先前创建的矩形被删除。我需要创建 2 个矩形当我点击按钮 2 次时。当我点击按钮 3 次时创
我有一个 QDialog,它包含几个停靠小部件和一个 QGraphicsView。小部件布局设置为网格,QGraphicsView 大小策略设置为固定在 2 个轴上,并且 QGraphicsView
我有两个关于 QGraphicsView Framework 的问题。 第一个问题是关于一条特殊的线:我想问一下是否可以画一条蛇形线或波浪线(如链接图片中所示)?如果有任何解决方案,我将不胜感激,因为
我的 QGraphicsView 有一些问题。我将 QGraphicsView 子类化以重新定义 paintEvent。我想使用 QGraphicsItem 绘制某种树的节点和 QGraphicsLi
我在根据需要扩展 QWidgets 时遇到了极大的麻烦。这不是我第一次遇到这个问题,上次我通过 hacking 一个大的 sizeHint() 解决了它。这是错误的方法,我真的很想学习正确的方法。 如
我在我的应用程序中使用 QGraphicsScene/QGraphicsView 对。为了我的目的,我将它们分类。生成该对的代码片段如下: itsScene = new QGraphicsScene;
如何让QGraphicsView处理拖放?比如,从某个文件夹中拖出一个图像文件,然后放到 QGraphicsView 中? Windows、QT5.2、C++。 最佳答案 你需要创建一个 QGraph
我是一名优秀的程序员,十分优秀!