PYTHON 寫一個QT的窗口,可以存儲數據和顯示數據,用sqlite3做存儲端
时间: 2024-04-21 20:23:04 浏览: 10
當然可以!以下是一個示例,展示如何使用Python和Qt創建一個窗口應用程序,使用SQLite3來存儲和顯示數據。
首先,確保已經安裝了相應的庫:PyQt5和sqlite3。可以使用pip命令進行安裝。
```python
pip install PyQt5
```
接下來,可以使用下面的代碼創建一個基本的窗口應用程序:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget, QPushButton, QLineEdit
import sqlite3
# 創建數據庫連接
conn = sqlite3.connect("data.db")
cursor = conn.cursor()
# 創建數據表
cursor.execute("""CREATE TABLE IF NOT EXISTS data (
id INTEGER PRIMARY KEY AUTOINCREMENT,
value TEXT
)""")
conn.commit()
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Qt Window with SQLite")
# 創建佈局和主窗口部件
layout = QVBoxLayout()
central_widget = QWidget(self)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
# 創建文本框和按鈕
self.text_edit = QLineEdit()
layout.addWidget(self.text_edit)
save_button = QPushButton("Save")
save_button.clicked.connect(self.save_data)
layout.addWidget(save_button)
show_button = QPushButton("Show")
show_button.clicked.connect(self.show_data)
layout.addWidget(show_button)
def save_data(self):
value = self.text_edit.text()
# 將數據插入數據庫
cursor.execute("INSERT INTO data (value) VALUES (?)", (value,))
conn.commit()
self.text_edit.clear()
def show_data(self):
# 從數據庫中獲取數據
cursor.execute("SELECT value FROM data")
result = cursor.fetchall()
# 在窗口中顯示數據
labels = [QLabel(value[0]) for value in result]
layout = self.centralWidget().layout()
for label in labels:
layout.addWidget(label)
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在上面的代碼中,我們首先創建了一個具有數據庫連接和表的SQLite3數據庫。然後,我們創建了一個繼承自QMainWindow的窗口類MainWindow。該類中包含存儲和顯示數據的函數save_data和show_data。save_data函數將文本框中的數據插入到數據庫中,而show_data函數從數據庫中獲取數據並在窗口中顯示它們。
最後,我們創建了一個QApplication對象和MainWindow對象,並運行應用程序。
該代碼演示了如何使用Qt和SQLite3創建一個窗口應用程序,可以存儲和顯示數據。你可以根據需要進行修改和擴展。希望對你有所幫助!