• pyQT Dialog默认选中某一个选项问题的解决


    方法一:

    在新建ui文件时不要新建Dialog

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'D:pythonProjectspyqtUITestuntitled6.ui'
    #
    # Created by: PyQt5 UI code generator 5.11.3
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    from PyQt5.QtCore import *
    
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.setObjectName("Form")
            Form.resize(188, 250)
            self.exit_game = QtWidgets.QPushButton(Form)
            self.exit_game.setGeometry(QtCore.QRect(0, 200, 189, 51))
            self.exit_game.setObjectName("exit_game")
            self.new_game = QtWidgets.QPushButton(Form)
            self.new_game.setGeometry(QtCore.QRect(0, 50, 189, 51))
            self.new_game.setObjectName("new_game")
            self.return_to_mainMenu = QtWidgets.QPushButton(Form)
            self.return_to_mainMenu.setGeometry(QtCore.QRect(0, 150, 189, 51))
            self.return_to_mainMenu.setObjectName("return_to_mainMenu")
            self.continue_button = QtWidgets.QPushButton(Form)
            self.continue_button.setGeometry(QtCore.QRect(0, 0, 189, 51))
            self.continue_button.setObjectName("continue_button")
            self.ranking_list = QtWidgets.QPushButton(Form)
            self.ranking_list.setGeometry(QtCore.QRect(0, 100, 189, 51))
            self.ranking_list.setObjectName("ranking_list")
    
            Form.setWindowFlags(Qt.FramelessWindowHint)
    
            self.retranslateUi(Form)
            QtCore.QMetaObject.connectSlotsByName(Form)
    
        def retranslateUi(self, Form):
            _translate = QtCore.QCoreApplication.translate
            Form.setWindowTitle(_translate("Form", "Form"))
            self.exit_game.setText(_translate("Form", "退出游戏"))
            self.new_game.setText(_translate("Form", "新游戏"))
            self.return_to_mainMenu.setText(_translate("Form", "返回主菜单"))
            self.continue_button.setText(_translate("Form", "继续游戏"))
            self.ranking_list.setText(_translate("Form", "排行榜"))
    
    
    if __name__ == "__main__":
        import sys
        app = QtWidgets.QApplication(sys.argv)
        Form = QtWidgets.QWidget()
        ui = Ui_Form()
        ui.setupUi(Form)
        Form.show()
        sys.exit(app.exec_())

    方法二:在建的Dialog模板中传入MainWindow的参数

    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'Sub_menu.ui'
    #
    # Created by: PyQt5 UI code generator 5.11.3
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    # from PyQt5.QtCore import *
    # from PyQt5.QtWidgets import *
    from PyQt5.QtCore import Qt
    class Ui_Dialog(object):
        def setupUi(self, Dialog):
            Dialog.setObjectName("Dialog")
            Dialog.resize(189, 250)
            # self.setWindowFlags(Qt.FramelessWindowHint)
            # self.setWindowFlags(Qt.FramelessWindowHint)
            self.pushButton_3 = QtWidgets.QPushButton(Dialog)
            self.pushButton_3.setGeometry(QtCore.QRect(0, 0, 189, 51))
            self.pushButton_3.setObjectName("pushButton_3")
            self.pushButton_4 = QtWidgets.QPushButton(Dialog)
            self.pushButton_4.setGeometry(QtCore.QRect(0, 50, 189, 51))
            self.pushButton_4.setObjectName("pushButton_4")
            self.pushButton_6 = QtWidgets.QPushButton(Dialog)
            self.pushButton_6.setGeometry(QtCore.QRect(0, 100, 189, 51))
            self.pushButton_6.setObjectName("pushButton_6")
            self.pushButton_7 = QtWidgets.QPushButton(Dialog)
            self.pushButton_7.setGeometry(QtCore.QRect(0, 150, 189, 51))
            self.pushButton_7.setObjectName("pushButton_7")
            self.pushButton_8 = QtWidgets.QPushButton(Dialog)
            self.pushButton_8.setGeometry(QtCore.QRect(0, 200, 189, 51))
            self.pushButton_8.setObjectName("pushButton_8")
    
            Dialog.setWindowFlags(Qt.FramelessWindowHint)
            self.retranslateUi(Dialog)
            QtCore.QMetaObject.connectSlotsByName(Dialog)
    
        def retranslateUi(self, Dialog):
            _translate = QtCore.QCoreApplication.translate
            Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
            self.pushButton_3.setText(_translate("Dialog", "继续游戏"))
            self.pushButton_4.setText(_translate("Dialog", "新游戏"))
            self.pushButton_6.setText(_translate("Dialog", "排行榜"))
            self.pushButton_7.setText(_translate("Dialog", "返回主菜单"))
            self.pushButton_8.setText(_translate("Dialog", "退出游戏"))
    
    
    if __name__ == "__main__":
        import sys
        app = QtWidgets.QApplication(sys.argv)
        MainWindow = QtWidgets.QMainWindow()
        ui = Ui_Dialog()
        ui.setupUi(MainWindow)   #这里传入了一个MainWindow的参数
        MainWindow.show()
        sys.exit(app.exec_())

    这里我喜欢使用第一种方法解决Dialog界面会默认选中一个选项的问题。

  • 相关阅读:
    推荐.Net、C# 逆向反编译四大工具利器
    逆向工具/反编译工具 集合
    秒杀系统-并发处理
    react动态渲染组件
    通过dom获取react节点
    mac上安装windows触摸板不能右键
    STM32F103智能配网mqtt协议EMQ安卓App远程控制LED采集温湿度ESP8266
    itop4412 基于物联网技术的商品支付系统 毕业设计
    STM32F103 单片机最小系统 核心板 C8T6 MINI 飞控 小车 主控制板
    31865 MAX31865 RTD铂电阻温度检测器 PT100至PT1000传感器模块
  • 原文地址:https://www.cnblogs.com/foreverlin/p/10726567.html
Copyright © 2020-2023  润新知