Qt551.窗口滾動條


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);
 
        
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM