• 4743阅读
  • 3回复

[提问]当控件超出窗体时如何能使窗口滚动? [复制链接]

上一主题 下一主题
离线ssa8023ddy
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-22
关键词: 求助QT4
        RT,下面是我尝试写的,不行啊!
        QFrame *frame = new QFrame(this);
        QScrollArea* scroll = new QScrollArea(this);    
        scroll->setWidget(frame);    
        QVBoxLayout *layout = new QVBoxLayout;    
        layout->addWidget(scroll);  
         this->setLayout(layout);  
         for (int i=0; i<10; i++)    {        
                QLabel *label = new QLabel(frame);        label->setText("welcome");        label->setGeometry(10+40*i, 20, 40, 20);  
         }
    
         下面是运行结果。。。
          
        请问大神们如何正确编写呢??
离线kimtaikee

只看该作者 1楼 发表于: 2012-04-22
  1. #include <QApplication>
  2. #include <QFrame>
  3. #include <QScrollArea>
  4. #include <QVBoxLayout>
  5. #include <QLabel>
  6. int main(int argc, char *argv[])
  7. {
  8.     QApplication a(argc, argv);
  9.     QScrollArea* scroll = new QScrollArea(0);
  10.     
  11.     QFrame *frame = new QFrame(scroll);
  12.     scroll->setWidget(frame);
  13.     scroll->setWidgetResizable(true);
  14.     
  15.     QVBoxLayout *layout = new QVBoxLayout(frame);
  16.     frame->setLayout(layout);
  17.     
  18.     for (int i=0; i<10; i++)
  19.     {
  20.         QLabel *label = new QLabel(frame);
  21.         label->setText("welcome");
  22.         label->setMinimumHeight(120);
  23.         layout->addWidget(label);
  24.     }
  25.     
  26.     scroll->show();
  27.     return a.exec();
  28. }


离线ssa8023ddy
只看该作者 2楼 发表于: 2012-04-22
非常感谢!
离线ssa8023ddy
只看该作者 3楼 发表于: 2012-04-22
回 1楼(kimtaikee) 的帖子
谢谢!另外问下,使用QScrollArea时是不是一定要加布局啊
快速回复
限100 字节
 
上一个 下一个