Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏

Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏

打开pycharm
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第1张图片
选择Tools—>External Tools—>QtDesigner,就可以打开QtDesigner,界面如下:

Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第2张图片
选择Widget,Screen Size可以选择窗口大小,也可以选择默认的窗口大小。然后点击Create,就完成了窗口的创建。
从界面左边的Widget Box 下的Buttons组件里拖动Push Button到界面上,让后在界面右边淡黄色和淡绿色区域,设置按钮的属性。
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第3张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第4张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第5张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第6张图片

Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第7张图片
从界面左边的Widget Box 下的Input Widgets组件里拖动Line Edit到界面上,让后在界面右边淡黄色和淡绿色区域,设置Line Edit的属性。

单击界面上红色圈里的按钮,编辑信号/槽。
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第8张图片
按住‘我猜’按钮不放,就出现一个类似接地的符号,然后我们在窗口上任意一点放开;然后会出现配置连接界面,按照下图所示的步骤一步一步操作(第三步点击加号之后我们要输入触发按钮的事件函数名。)
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第9张图片

第五步点击ok之后会出现,如下界面:
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第10张图片
按照步骤设置完成之后会出现以下界面:
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第11张图片
然后我们就可以ctrl+s保存设计好的ui文件文件了。

然后你会发现你的工程目录下多了一个ui文件。下一步问要把ui文件转化为.py文件。
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第12张图片
鼠标右键单击ui文件,选择External Tools–>PyUIC,就可以把ui文件转化为.py文件了。.py文件如下:
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第13张图片

要想程序运行出来我们还要新建一个py文件,在里面添加如下代码:

import sys
from PyQt5.QtWidgets import QMessageBox, QWidget, QApplication
from test_6_qt_designer import Ui_Form
from random import randint


class my_pyqt_from(QWidget, Ui_Form):
    def __init__(self):
        super(my_pyqt_from, self).__init__()
        self.setupUi(self)
        self.num = randint(1, 100)
        self.show()

    def show_message(self):

        guess_number = int(self.lineEdit.text())
        print(self.num)

        if guess_number > self.num:
            QMessageBox.about(self, '看结果','猜大了!')
            self.lineEdit.setFocus()

        elif guess_number < self.num:
            QMessageBox.about(self, '看结果','猜小了!')
            self.lineEdit.setFocus()
        else:
            QMessageBox.about(self, '看结果', '答对了!进入下一轮!')
            self.num = randint(1, 100)
            self.lineEdit.clear()
            self.lineEdit.setFocus()

    def closeEvent(self, QCloseEvent):
        reply = QMessageBox.question(self, '确认', '确认退出吗', QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

        if reply == QMessageBox.Yes:
            QCloseEvent.accpet()
        else:
            QCloseEvent.ignore()


if __name__ == '__main__':

    app = QApplication(sys.argv)
    my_pyqt_form = my_pyqt_from()
    sys.exit(app.exec_())

运行结果:
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第14张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第15张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第16张图片
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第17张图片

补充:界面上的图案和界面标题可以在如图所示的地方设置:
Python界面编程之四----Pycharm+QtDesigner实现猜数小游戏_第18张图片

你可能感兴趣的:(PyQt5)