1、代碼的方式來創建 ScrollArea,然后使用 倒是 正常(有滾動條顯示),但是此方式太麻煩 不如直接拖控件來的方便直觀快捷。
但是,直接拖控件的方式 ScrollArea中無法顯示出 滾動條,怎么設置都沒用...
ZC:后來這樣做 可以顯示 滾動條了:(只是記錄下操作,未了解其中原理)
操作:
(1)在主界面上拖一個 QScrollArea,設置主界面為 柵格布局
(2)點擊 scrollArea下面的scrollAreaWidgetContents(QWidget),對 scrollArea設置 minimumSize(把高度&寬度的值設置得大一點) 這樣就可以看到 scrollArea的滾動條了
PS:可以設置 scrollArea的屬性 frameShape和frameShadow 來改變 滾動窗口的外觀樣式
2、代碼創建的方式記錄一下
1 MainWindow1::MainWindow1(QWidget *parent) : 2 QMainWindow(parent), 3 ui(new Ui::MainWindow1) 4 { 5 ui->setupUi(this); 6 }
在上面的構造函數中 添加 下面你的代碼:
1 //滾動區域 2 QScrollArea *s = new QScrollArea(this); 3 s->setFrameShadow(QFrame::Sunken); 4 s->setGeometry(0, 0, 200, 200); 5 //垂直滾動條不可見,只能通過鼠標滑動 6 // s->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 7 8 //窗體1,其父窗體為滾動區域 9 QWidget *w = new QWidget(s); 10 //設置滾動區域的窗體 11 s->setWidget(w); 12 w->setGeometry(0, 0, 300, 300); 13 14 //在窗體1上添加按鈕 15 QPushButton *btn = new QPushButton(w); 16 btn->setText("123"); 17 btn->move(230, 130);
3、
4、
5、
MainWindow1::MainWindow1(QWidget*parent):
QMainWindow(parent),
ui(newUi::MainWindow1)
{
ui->setupUi(this);
//滾動區域
QScrollArea*s=newQScrollArea(this);
s->setFrameShadow(QFrame::Sunken);
s->setGeometry(0,0,200,200);
//垂直滾動條不可見,只能通過鼠標滑動
//s->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
//窗體1,其父窗體為滾動區域
QWidget*w=newQWidget(s);
//設置滾動區域的窗體
s->setWidget(w);
w->setGeometry(0,0,300,300);
//在窗體1上添加按鈕
QPushButton*btn=newQPushButton(w);
btn->setText("123");
btn->move(230,130);
}