pyqt5界面设计正弦波
时间: 2023-11-03 12:05:11 浏览: 102
pyqt5的波形显示界面
正弦波是一种连续的周期函数,可以在PyQt5界面设计中通过数学计算和绘图功能实现。以下是一个用PyQt5绘制正弦波的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget
from PyQt5.QtGui import QPainter, QPen
from PyQt5.QtCore import Qt
import sys
import math
class SinWaveWidget(QWidget):
def paintEvent(self, event):
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing)
width = self.width()
height = self.height()
pen = QPen(Qt.red)
pen.setWidth(2)
painter.setPen(pen)
for x in range(width):
y = int(height/2 * (1 - math.sin(2 * math.pi * x / width)))
painter.drawPoint(x, y)
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.sin_widget = SinWaveWidget(self)
self.setCentralWidget(self.sin_widget)
self.setWindowTitle("Sin Wave")
self.resize(400, 300)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
以上代码创建了一个继承自QWidget的自定义控件SinWaveWidget,在其paintEvent方法中使用数学计算绘制了一个正弦波图形。接下来,在MainWindow中将SinWaveWidget作为中央控件设置,并显示主窗口。
阅读全文