一. 连接 Opengauss 数据库并设置弹窗
1.新建python文件“OpenGauss_GUI.py”,然后复制如下代码:
from PySide2.QtWidgets import QApplication,QMessageBox,QTableWidgetItem
from PySide2.QtUiTools import QUiLoader
import psycopg2
import sys
# 导入相关库
# 定义一个类专门处理GUI
class Stats:
def __init__(self):
# 从文件中加载UI定义
# 从 UI 定义中动态 创建一个相应的窗口对象
# 注意:里面的控件对象也成为窗口对象的属性了
# 比如 self.ui.button , self.ui.textEdit
self.ui = QUiLoader().load('G:\\CODE\\2019213061\\main.ui')
self.ui.setWindowTitle('你的学号')#设置窗口名称
# 定义一个连接OpenGauss的函数
def create_conn():
database='school'
user='dboper'
password='dboper@123'
host='192.168.174.134'
port='26000'
conn = psycopg2.connect(database=database, user=user, password=password, host=host, port=port) #连接数据库
return conn
#程序从这里执行
app = QApplication([])
stats = Stats()
stats.ui.show() # 界面显示
sys.exit(app.exec_())#事件处理循环 要不然程序一闪而过 死循环
右键点击“运行”后我们可以看到一个空的窗口,代表程序正常可以正常工作。QUiLoader().load()这里读取了我们之前创建的main.ui文件(建议写绝对路径),并生成了一个窗口对象返回到类变量ui中,接下来我们对窗口进行操作都需要用到类变量ui。

2. QMessageBox控件
QMessageBox控件可以用于生产弹窗,接下来我们来实现数据库的连接,在连接成功后给我们弹出一个提示窗口,失败的话将报错信息用弹窗进行显示stats = Stats()这段代码下加入下述代码:
msgBox = QMessageBox()
try:
conn = create_conn()
except Exception as e:
msgBox.about(stats.ui, '提示窗口', str(e))
else:
msgBox.about(stats.ui, '提示窗口', '数据库连接成功 ')#弹窗提示
在初始化弹窗对象msgBox,try语句下会先执行conn = create_conn(),如果出现异常则会获得报错信息e。没有异常则执行else:中的语句。
其中About()函数是QMessageBox()的类函数,用于弹出窗口,其中第一个参数需要填一个主窗口对象,也就是类变量ui,第二个参数是弹窗的

文章介绍了如何使用Python和PySide2在GUI中连接Opengauss数据库,通过QMessageBox实现连接成功和错误的弹窗提示,以及如何设计和加载表格控件展示数据库数据。
最低0.47元/天 解锁文章
1542

被折叠的 条评论
为什么被折叠?



