我需要一段python代码 用QT Designer设计纯色图片生成界面。界面中设置键入值RGB和按键生成图片。
时间: 2024-03-16 08:46:38 浏览: 121
好的,以下是一个简单的Python代码,用QT Designer设计了一个纯色图片生成界面,并且可以根据用户输入的RGB值来生成对应颜色的图片。
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi
from PyQt5.QtGui import QPixmap, QColor
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
loadUi('mainwindow.ui', self) # 加载UI文件
self.pushButton.clicked.connect(self.generate_image) # 按键绑定生成图片函数
def generate_image(self):
r = int(self.lineEdit_r.text()) # 获取用户输入的RGB值
g = int(self.lineEdit_g.text())
b = int(self.lineEdit_b.text())
color = QColor(r, g, b) # 根据RGB值生成颜色
pixmap = QPixmap(200, 200) # 创建200*200大小的pixmap
pixmap.fill(color) # 用生成的颜色填充pixmap
self.label.setPixmap(pixmap) # 在label上显示生成的图片
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
代码中用到了一个名为 `mainwindow.ui` 的UI文件,你需要用QT Designer设计这个文件,添加三个LineEdit控件和一个PushButton控件,然后将其保存。以下是这个UI文件的代码:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QLineEdit" name="lineEdit_r">
<property name="geometry">
<rect>
<x>50</x>
<y>50</y>
<width>100</width>
<height>30</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_g">
<property name="geometry">
<rect>
<x>50</x>
<y>100</y>
<width>100</width>
<height>30</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_b">
<property name="geometry">
<rect>
<x>50</x>
<y>150</y>
<width>100</width>
<height>30</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>50</x>
<y>200</y>
<width>100</width>
<height>30</height>
</rect>
</property>
<property name="text">
<string>Generate</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>200</x>
<y>50</y>
<width>200</width>
<height>200</height>
</rect>
</property>
</widget>
</widget>
</widget>
<resources/>
<connections/>
</ui>
```
你需要将这两段代码保存在同一个目录下,并且需要安装PyQt5库才能运行它。
阅读全文