Python代码的UI文件-本篇窗口()

优采云 发布时间: 2021-08-18 22:09

  Python代码的UI文件-本篇窗口()

  本文将介绍:

  文章directory

  一、创建两个窗口

  根据本文的最终目标——在主窗口中调用对话框窗口,我们首先使用qt设计器创建两个窗口,一个是主窗口MainWindows,另一个是对话框窗口Dialog有两个按钮。

  通过qt设计器创建一个MainWindows窗口,并在其中放置一个按钮:

  

  另存为 UI 文件并创建一个新的对话窗口:

  

  另存为 UI 文件。

  

  这样我们本地文件夹就有了两个可以转换成Python代码的UI文件:

  

  二、 将 UI 文件转换为 Python 代码文件

  保存两个窗口的UI文件后,我们继续使用pyuic5工具将这两个UI文件转换成Python代码文件。

  打开命令行输入:

  pyuic5 -x -o mainWindow.py mainWindow.ui

pyuic5 -x -o dialog.py dialog.ui

  

  运行转换后的Python文件,是否正常:

  

  一切正常,然后我们可以连接并调用两个窗口。

  三、从主窗口调用对话窗口

  在进行下一步之前,我们先在mainWindow的mainWindow中添加一个文本标签,设置文本为空,字体增加:

  

  有了这个标签,我们可以在标签标签中反馈对话框的操作。

  保存 UI 文件并使用 pyuic5 再次转换 Python 代码。

  为了在主窗口代码中调用对话窗口,我们需要在mainWindow.py文件中引入对话窗口:

  from GUI import dialog

  然后在主窗口的主类中定义一个方法来显示对话框窗口:

  def click_button(self):

Dialog = QtWidgets.QDialog()

ui = dialog.Ui_Dialog()

ui.setupUi(Dialog)

Dialog.show()

Dialog.exec_()

  方法定义好了,我们需要绑定按钮点击调用,在setupUi()方法中设置:

  self.pushButton.clicked.connect(self.click_button)

  这样就实现了按钮点击绑定对话框。

  

  我们知道我们的对话框有两个按钮,一个是“OK”,一个是“Cancel”。在我们的 GUI 程序中,单击其中任何一个都将关闭对话框。效果看起来是一样的,但是 PyQt5 的内部机制是两个不同的事件。下面我们将通过之前设置的标签展示不同的机制。

  我们修改click_button()方法如下:

  def click_button(self):

Dialog = QtWidgets.QDialog()

ui = dialog.Ui_Dialog()

ui.setupUi(Dialog)

Dialog.show()

# Dialog.exec_()

rsp = Dialog.exec_()

if rsp == QtWidgets.QDialog.Accepted:

self.label.setText("点击了OK")

else:

self.label.setText("点击了Cannel")

  这里我们将对话框的运行赋值给一个变量,然后与QtWidgets.QDialog.Accepted进行比较。 QtWidgets.QDialog.Accepted表示对话框的接收事件,用“OK”事件表示,如果是接收时间,设置标签标签为“点击确定”,否则设置标签标签为“点击Cannel”

  

  文章版权:周老师的博客,转载需保留出处和原链接

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线