- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我是 QT 新手,正在尝试使用 Apps。我刚刚用一些按钮编写了一个非常简单的应用程序。主要想法是在我的应用程序中有一个小的“ Logo ”。稍后我还想添加一些背景图片。
我从一个带有网格布局的示例应用程序中编写代码,其中有一个 QBoxLayout,它将我的按钮分组。
如您在我的代码中所见,我已尝试在各处添加 Logo 。当我在 main.cpp 中添加它时,我有两个 View ,一个显示按钮,另一个显示我的 Logo 。我当然不想要这个。所以我尝试将它添加到 mainwindow.cpp 中,但在这种情况下,我根本看不到我的 Logo 出现在任何地方:(
请指教。
代码如下:
主要.cpp:
#include <QtGui/QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Window window;
window.show();
/*
QGraphicsScene scene;
QGraphicsView view(&scene);
QGraphicsPixmapItem item(QPixmap("/home/marc/Desktop/Niranjana/Images/logo.9.png"));
scene.addItem(&item);
view.show();
*/
return a.exec();
}
主窗口.h
#ifndef WINDOW_H
#define WINDOW_H
#include <QWidget>
#include <QRadioButton>
class QGroupBox;
class Window : public QWidget
{
Q_OBJECT
public:
Window(QWidget *parent = 0);
void onCheck_remote(int flag);
void onCheck_local(int flag);
private:
QRadioButton *button_local;
QRadioButton *button_remote;
QGroupBox *createPushButtonGroup();
};
#endif
主窗口.cpp
#include <QtGui>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include "mainwindow.h"
Window::Window(QWidget *parent)
: QWidget(parent)
{
QGridLayout *grid = new QGridLayout;
QGraphicsScene scene;
QGraphicsPixmapItem item(QPixmap("/home/test/logo.png"));
QGraphicsView view(&scene);
scene.addItem(&item);
view.show();
grid->addWidget(view.viewport(), 1, 1);
grid->addWidget(createPushButtonGroup(), 2, 1);
setLayout(grid);
setWindowTitle(tr("My App"));
resize(480, 420);
}
QGroupBox *Window::createPushButtonGroup()
{
QGroupBox *groupBox = new QGroupBox();
/*
QGraphicsScene scene;
QGraphicsPixmapItem item(QPixmap("/home/marc/Desktop/Niranjana/Images/logo.9.png"));
QGraphicsView view(&scene);
scene.addItem(&item);
scene.setBackgroundBrush(Qt::white);
view.show();
*/
QPushButton *button1 = new QPushButton(tr("&Start"));
QPushButton *button2 = new QPushButton(tr("&Stop"));
button_local = new QRadioButton(tr("&with power"));
button_remote = new QRadioButton(tr("without power"));
button_local->setChecked(1);
QVBoxLayout *vbox = new QVBoxLayout;
// vbox->addSpacing(10);
// vbox->addWidget(view.viewport());
//vbox->addSpacing(10);
vbox->addWidget(button1);
vbox->addSpacing(10);
vbox->addWidget(button2);
vbox->addSpacing(50);
vbox->addWidget(button_local);
vbox->addWidget(button_remote);
vbox->addStretch(1);
groupBox->setLayout(vbox);
return groupBox;
}
最佳答案
你应该
grid->addWidget(view, 1, 1);
否则,在 ctor 中在堆栈上实例化的所有项目将在退出时被删除。
关于c++ - 将 QGraphicsView 添加到 QBoxLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9599650/
我正在查看示例 here ,并且想知道是否没有内存泄漏。我红了谈论主题的文章mem leak on delete .然而,虽然 QWidgets 确实保留了添加到的小部件的所有权,但布局却没有。 从
以下简化代码片段: #include int main(int argc, char **argv) { QApplication app(argc, argv); QWidget *window
每当显示的 QBoxLayout 被填充时,屏幕上就会出现一些闪烁,因为小部件被添加到布局中。如何停止这种闪烁? setUpdatesEnabled 没有成功。 最佳答案 show() 仅在您完成填充
因此,我降低了几个等级,尝试使用简单的程序来掌握 Qt 工具的窍门。 首先,我在 main() 函数中尝试了一个简单的标签,然后在其中尝试了一个按钮。一切顺利。 接下来,我尝试了相同的操作,但在主窗口
有人知道如何在 QBoyLayout 中的两个小部件之间创建可拉伸(stretch)的分隔符吗? ? 这样用户就可以轻松更改列/行的拉伸(stretch)因子。 你可以在图片中看到类似的东西: 谢谢。
问题说明了一切。说我有一个布局 mylayout |-- widgetA `-- widgetB 如何在这棵树上插入一个新的小部件? mylayout |-- widgetA |-- widgetC
由于其高度可定制性,我在构建应用程序 GUI 时一直依赖使用多个 GroupBox。但 QGroupBox 似乎对界面构建速度产生了一定的影响。现在,使用布局的 .insertLayout() 方法,
我是 QT 新手,正在尝试使用 Apps。我刚刚用一些按钮编写了一个非常简单的应用程序。主要想法是在我的应用程序中有一个小的“ Logo ”。稍后我还想添加一些背景图片。 我从一个带有网格布局的示例应
我正在开发一个在嵌入式系统(带有 4d 4.3'' 触摸屏的 BeagleBone Black)上全屏运行的 Qt 应用程序。我想显示不同数量的固定宽度自定义小部件(例如,假设这些是简单的 slide
我正在做一个关于盒子布局的 PyQt4 教程。但我不明白 addStretch 是如何工作的。 如果我使用 vbox.addStretch(1) 和 hbox.addStretch(1),这两个按钮会
如何在 PyQT5 中拉伸(stretch) QHboxLayout 和 QVBoxLayout?我应该使用哪种方法?结果图片在链接中给出(当窗口很小时,它也不适合窗口的形状) from PyQt5.
我想在 QBoxLayout 中有一个 QTextEdit 和 QPushButton,其中按钮的大小根据需要尽可能小,其余的都是 textedit . 到目前为止,我想到了这个。 QPushButt
我想问一下当我将 QHBoxLayout 与 QMainWindow 和 QWidget 一起使用时发生的事情。我正在尝试通过连接 2 个小部件来更改窗口标题样式。这是发生了什么:QWidget下 这
我有一个 ScrollArea,其中包含一个包含多个标签的 VBoxLayout: realmScroll = QScrollArea(self.container.widget()) realmSc
我想创建一个可滚动的小部件,其中包含由 QBoxLayout 管理的子小部件集合,并且必须能够轻松地从该集合中添加和删除小部件。但是当我向它添加子窗口小部件时,视口(viewport)窗口小部件并没有
我是一名优秀的程序员,十分优秀!