- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试创建一个带有插槽的Mainwindow,它创建一个Widget并将其加载到Mainwindow中的ScrollArea。这是行不通的,所以我厌倦了在主窗口的构造函数中创建 Widget,而且我总是遇到错误并且不知道为什么......那么 Widget 的正确声明是什么?
#include <QtGui>
class Mainwindow : public QMainWindow
{
Q_OBJECT
public:
Mainwindow(QMainWindow *parent = 0);
public slots:
private:
QScrollArea *List,*Sublist,*Overall,*Settings;
QLabel *label_title;
QPushButton *bn_exit,*bn_list,*bn_overall,*bn_settings;
};
//! ------------------------------------- Mainlist -------------------------------------
class Sublist : public QWidget{
Q_OBJECT
private:
QLabel *title;
public:
Sublist(QWidget *parent = 0);
};
和.cpp
Mainwindow::Mainwindow(QMainWindow *parent) : QMainWindow(parent) {
this->resize(1024,576);
//this->setWindowFlags(Qt::Popup);
QPalette palette;
palette.setColor(QPalette::Background, QColor(16,16,16));
this->setPalette(palette);
Sublist SecondList;
//! [Set ScrollAreas]
List = new QScrollArea(this);
List->setGeometry(0,60,200,456);
List->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
Sublist = new QScrollArea(this);
Sublist->setGeometry(200,60,824,456);
Sublist->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
//Sublist->setWidget(SecondList)
}
//! ---------------------------------------- MainList------------------------------------------------------
Sublist::Sublist(QWidget *parent){
resize(1200,1200);
title = new QLabel("Title",this);
title->setGeometry(1120,1120,40,90);
}
最佳答案
我试了一下你的代码,注意到了一些事情:
在 Mainwindow 类中定义您的 QScrollArea 变量:
QScrollArea *List,*Sublist,*Overall,*Settings;
您定义了一个名为 Sublist 的变量,类型为 QScrollArea,但您也有一个同名类:
class Sublist : public QWidget
更改滚动区域的变量名可能是个好主意:
QScrollArea *list, *subList, *overall, *settings;
接下来,在 Sublist 类的构造函数中,您将一个指针传递给父类,但永远不会将其分配给您的基类。您还有一个永远不会放置在任何地方的 QLabel 小部件。似乎需要的是自定义小部件的布局。
Sublist 类可能是这样的:
//.h
class Sublist : public QWidget
{
Q_OBJECT
public:
Sublist(QWidget *parent = 0);
private:
QLabel *title;
QVBoxLayout *layout;
};
//.cpp
Sublist::Sublist(QWidget *parent) : QWidget(parent) {
resize(1200,1200);
title = new QLabel("Title");
title->setGeometry(1120,1120,40,90);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(title);
setLayout(layout);
}
Mainwindow 类是这样的:
//.h
class Mainwindow : public QMainWindow
{
Q_OBJECT
public:
Mainwindow(QMainWindow *parent = 0);
private:
Sublist *secondList;
QScrollArea *list, *subList, *overall, *settings;
QLabel *label_title;
QPushButton *bn_exit,*bn_list,*bn_overall,*bn_settings;
};
//.cpp
Mainwindow::Mainwindow(QMainWindow *parent) : QMainWindow(parent)
{
this->resize(1024,576);
QPalette palette;
palette.setColor(QPalette::Background, QColor(16,16,16));
palette.setColor(QPalette::Foreground, QColor(255,255,255));//set text to white
this->setPalette(palette);
secondList = new Sublist(this);
//! [Set ScrollAreas]
list = new QScrollArea(this);
list->setGeometry(0,60,200,456);
list->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
subList = new QScrollArea(this);
subList->setGeometry(200,60,824,456);
subList->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
subList->setWidget(secondList);
}
我仍然不能 100% 确定这就是您尝试使用此代码实现的目标,但我希望我已经帮助您解决了当前实现中的一些问题。
关于c++ - 在 QMainWindow 中创建 Widget 并加载到 ScrollArea,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3602096/
我的意图 我想创建一个 QWidget 并将其添加到 scrollArea。 然后 为该QWidget 创建并设置网格布局。 然后用按钮填充网格布局,每个按钮有一个文本,其值来自输入 int* 数组。
我正在创建一个下载列表的窗口 dimanica。但滚动条不起作用,“小部件子项”被“剪切”。 我哪里错了?谢谢。 来源: QWidget *central = new QWidget;
我有一个 qscrollarea,里面有一个 qgridlayout。在网格布局中,我创建了许多自定义小部件(为简单起见,这些小部件只是一个分组框和一个标签)并在每一行添加一个。 自定义小部件不是显示
如果一个页面里头的内容太长,怎么办? 之前一直以为要添加scroll bar,但是不知道怎么把bar和内容关联到一起(有了解的朋友希望给我留言),后来发现可以用scroll area实现这一功能。
我正在从计时器执行的 xml 中加载数据。 xml 在实体对象中被解析和填充。在一个循环中,我从实体对象中获取数据并填充 QCommandLinkButton。最后将一批按钮设置到 vertica
您好,我有一个 img 中显示的网页。左侧是滚动区域,右侧是普通 div 现在我不想要两个水平滚动条之间的间隙。我想修复屏幕的左侧,只有右侧应该是可滚动的。 最佳答案 不要以 px 为单位给出 div
我的程序有一个主窗口,它创建了一个名为 wdg 的小部件。这个小部件有一个包含 193 行的 QFormLayout。我希望能够向下滚动 QFormLayout。我尝试制作一个 QScrollArea
我正在编写一个图像查看器作为自定义 Qt 小部件(参见:https://github.com/dov/Qviv),现在我陷入了如何让我的小部件通知父 QScrollArea 视口(viewport)变
我尝试创建一个带有插槽的Mainwindow,它创建一个Widget并将其加载到Mainwindow中的ScrollArea。这是行不通的,所以我厌倦了在主窗口的构造函数中创建 Widget,而且我总
我有一个 ScrollArea,其中包含一个包含多个标签的 VBoxLayout: realmScroll = QScrollArea(self.container.widget()) realmSc
我正在尝试在滚动区域中绘制图表,但我不知道如何更改图表的大小。这是我所拥有的示例: 正如你所看到的,在我的 ScrollArea(红色)中,按照我想要的大小,我有一个图表(好吧,实际上我有更多的图表,
我已将一个滚动区域拖到设计器中,然后我拖了一个标签(imageLabel,用于 setPixmap)。然后我右键单击并将布局设置为网格。 scrollArea = new QS..... scroll
我正在尝试使用 applescript ui 编程自动化基于 osx 的 Microsoft lync。到目前为止,我还不知道如何根据值选择 lync 联系人列表中的项目。 UI 检查器显示此层次结构
因此,在我的 UI 设计器中,我有一个 ScrollArea 小部件,然后在我的 MainWindow.cpp 中,我创建了一个 QGraphicScene 和一个 QGraphics View 。我
我是一名优秀的程序员,十分优秀!