打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
关于QscrollArea的使用
最近在使用PyQt4 进行图形界面设计,当控件显示的内容过大时,需要在控件的旁边显示滚动条,这时需要用到QscrollArea这个控件。在网上找了好多天,都没有解决问题,最后还是参考模块说明文档,才弄明白这个控件怎么用。

QScrollArea 能够为 widget(或其子类) 添加滚动视图 。滚动视图可以在widget的尺寸超过整个框架的尺寸时,显示滚动条。

示例一:

 QLabel *imageLabel = new QLabel;  QImage image("happyguy.png");  imageLabel->setPixmap(QPixmap::fromImage(image));   scrollArea = new QScrollArea;  scrollArea->setBackgroundRole(QPalette::Dark);  scrollArea->setWidget(imageLabel);

效果图如下:


注意!:当使用QScrollArea 能够 widget 添加滚动视图时,一定要先设置widget的sizehint(可以使用setMinimumSize() 来进行设置。),从而保证widget的内容能够正常显示


示例2

import sysfrom PyQt4 import QtCore, QtGuiimport classblockclass MainWindow(QtGui.QMainWindow): def __init__(self, parent=None): QtGui.QMainWindow.__init__(self, parent) w = QtGui.QWidget() self.setCentralWidget(w) topFiller = QtGui.QWidget() topFiller.setMinimumSize (1200, 1200 ) for i in range(1, 40): label = QtGui.QLabel( "<--------->", topFiller) label.move(i*10, i*10) scroll = QtGui.QScrollArea() scroll.setWidget(topFiller) scroll.setAutoFillBackground(True) scroll.setWidgetResizable(True) vbox = QtGui.QVBoxLayout() vbox.addWidget(scroll) w.setLayout(vbox) self.statusBar().showMessage(self.tr("A context menu is available by right-clicking")) self.setWindowTitle(self.tr("Menus")) self.resize(480,320) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) mainwindow = MainWindow() mainwindow.show() sys.exit(app.exec_())

效果图如下:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Qt中如何将一个界面加入到另一个界面
如何防止QScrollArea缩放过于摇摇晃晃?
PyQt5 从零开始制作一个 PDF 阅读器
pyqt中使用matplotlib绘制动态曲线
maya pyside安装成功测试代码
用PyQt 来编写第一个Python GUI 程序
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服