python qt designer 显示图片_图形编程:QT使用scrollarea显示图片的解决方案

efa5aec3774a4f916ed8a3a80d474de9.png

需求:

在界面上点击“显示图片”按钮,会调用scrollarea窗口显示图片,窗口大小能根据图片大小自动调整,但是最大为1024*768,图片过大就要有滚动条来显示

IDE环境:

QT Creator ,linux ,ubuntu12.04

代码:

mainwindow中点击“显示图片”调用scrollarea窗口,下面的函数是被一个按钮的槽函数调用的

void MainWindow::Show_Image_byname(char *filename){ if(!filename || !strlen(filename)) { return; } char buf[128]= {0}; strcpy(buf,SAVE_IMAGE); strcat(buf,filename); ScrollArea *new_image = new ScrollArea(); new_image->set_image(buf); new_image->setBackgroundRole(QPalette::Dark); new_image->show(); return;}


添加文件scrollarea.ui文件,画出一个scrollarea

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,使用PyQt库的QScrollArea小部件可以实现滚动功能。以下是使用QScrollArea滑动的一般步骤: 1. 导入必要的模块和类: ```python from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QVBoxLayout, QScrollArea, QLabel ``` 2. 创建QApplication实例和主窗口: ```python app = QApplication([]) window = QMainWindow() ``` 3. 创建一个QWidget小部件,并将其设置为主窗口的中央窗口: ```python widget = QWidget() window.setCentralWidget(widget) ``` 4. 创建一个QVBoxLayout布局管理器并将其应用于QWidget小部件: ```python layout = QVBoxLayout(widget) ``` 5. 创建一个QScrollArea小部件并将其添加到QVBoxLayout中: ```python scroll_area = QScrollArea() layout.addWidget(scroll_area) ``` 6. 创建一个包含内容的QWidget小部件,并设置其layout属性为QVBoxLayout。如果内容过长,以致需要滚动时,可以设置QWidget的大小策略为QSizePolicy.Expanding: ```python content_widget = QWidget() content_layout = QVBoxLayout(content_widget) content_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # 将内容添加到content_layout中 label1 = QLabel("Content 1") content_layout.addWidget(label1) label2 = QLabel("Content 2") content_layout.addWidget(label2) # 其他内容... # 设置content_widget为scroll_area的widget scroll_area.setWidget(content_widget) ``` 7. 将QWidget的大小策略设置为QSizePolicy.Expanding,并显示主窗口: ```python widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) window.show() ``` 这样,当内容超过QScrollArea小部件大小时,将可以使用滚动条来滑动显示内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值