qt创建两个窗口,窗口1点击按钮,窗口2会在QLabel上展示一张图片
时间: 2024-02-19 21:57:27 浏览: 157
qt编写的窗口多开图片显示器
可以按照以下步骤实现:
1. 创建两个窗口,可以使用Qt Designer来创建,或者手动编写代码创建。
2. 在窗口1中添加一个按钮,可以使用QPushButton控件实现。
3. 在按钮的clicked()信号中,打开一个QFileDialog来选择要展示的图片。
4. 在窗口2中添加一个QLabel控件,用于展示图片。
5. 将选择的图片加载到QPixmap中。
6. 将QPixmap设置到QLabel中,展示图片。
以下是伪代码示例:
```python
# 窗口1
class Window1(QWidget):
def __init__(self):
super().__init__()
self.button = QPushButton('展示图片', self)
self.button.clicked.connect(self.show_image)
def show_image(self):
# 打开文件选择对话框
file_path = QFileDialog.getOpenFileName(self, '选择图片', '', 'Images (*.png *.xpm *.jpg *.bmp)')[0]
if file_path:
# 打开窗口2并展示图片
window2 = Window2()
pixmap = QPixmap(file_path)
window2.show_image(pixmap)
window2.exec_()
# 窗口2
class Window2(QDialog):
def __init__(self):
super().__init__()
self.label = QLabel(self)
def show_image(self, pixmap):
# 设置QPixmap到QLabel中
self.label.setPixmap(pixmap)
```
在窗口1中创建一个QPushButton控件,并将其clicked()信号连接到show_image()方法。在show_image()方法中打开一个QFileDialog来选择要展示的图片,并创建一个Window2窗口,并将加载的图片传递给窗口2的show_image()方法展示图片。
在窗口2中创建一个QLabel控件,并通过show_image()方法将加载的图片设置到QLabel中展示。
阅读全文