2
我想看看我向用戶展示各種QLabels,.jpg圖像和項目列表(例如QListView)。我希望所有這些可以垂直滾動。填充各種小部件的數據將由顯示此視圖的函數設置。我更喜歡在代碼中實現它,而不使用GUI Designer。在QT中使用多個小部件實現視圖的最佳方式?
我想過如何創建自定義小部件繼承自QWidget,但我發現很難實現它。這是做這件事的最好方法嗎?
你能否提供一個我應該如何進行的例子?
在此先感謝
我想看看我向用戶展示各種QLabels,.jpg圖像和項目列表(例如QListView)。我希望所有這些可以垂直滾動。填充各種小部件的數據將由顯示此視圖的函數設置。我更喜歡在代碼中實現它,而不使用GUI Designer。在QT中使用多個小部件實現視圖的最佳方式?
我想過如何創建自定義小部件繼承自QWidget,但我發現很難實現它。這是做這件事的最好方法嗎?
你能否提供一個我應該如何進行的例子?
在此先感謝
//Using QScrollArea
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QLabel>
#include <QScrollArea>
#include <QVBoxLayout>
class MyWidget: public QWidget
{
Q_OBJECT
public:
explicit MyWidget(QWidget *parent = 0);
private:
QScrollArea *scrollArea;
QWidget *widget;
QLabel *label1;
QLabel *label2;
QLabel *label3;
QVBoxLayout *vLayout;
};
#endif // MYWIDGET_H
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent) :
QWidget(parent)
{
scrollArea=new QScrollArea(this);
widget=new QWidget;
label1=new QLabel("Label1");
label2=new QLabel("Label2");
label3=new QLabel("Label3");
label1->setFixedSize(200,100);
label2->setFixedSize(200,100);
label3->setFixedSize(200,100);
vLayout=new QVBoxLayout;
vLayout->addWidget(label1);
vLayout->addWidget(label2);
vLayout->addWidget(label3);
widget->setLayout(vLayout);
scrollArea->setWidget(widget);
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scrollArea->resize(200,150);
}
謝謝,但我需要添加一個而QListView爲好,這是最棘手的部分,因爲它有自己的滾動..這可能嗎? – gmpi 2011-03-15 23:09:39
是的,這是可能的。 – 2011-03-16 06:22:52
我的意思是,「所有這些都可以垂直滾動到一起」,而不是在窗口中插入兩個滾動條(一個插入其中)... – gmpi 2011-03-16 15:04:28