参考
QT中布局器的addStretch()函数使用-CSDN博客
1.1. Course Introduction_哔哩哔哩_bilibili
三种窗口
QWidget
所有用户界面对象的基类。拥有丰富的小部件(如按钮,输入框等)
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
from PyQt6.QtWidgets import QApplication
app=QApplication(sys.argv)
window=QWidget()
button=QPushButton("jack")
left_layout=QVBoxLayout()
left_layout.addWidget(button)
window.setLayout(left_layout)
window.show()
sys.exit(app.exec())
这里app,应该是类似与应用程序,读入我们的命令行的命令。生成了一个button控件,命名为jack,同时添加了一个布局,将它加入布局里面,然后设置了这个window的主要布局为什么,感觉就是嵌套盒子,和之前的安卓开发很像。最后是显示窗口,然后app.exec()会让程序不断的消息循环,然后等待最后的关闭。
QMainWindow
主窗口的基类,提供一个主应用程序窗口,一个框架,用于构建应用程序的用户界面,拥有自己的布局,可以访问QStatusBar,QToolbar等。
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
from PyQt6.QtWidgets import QApplication
app=QApplication(sys.argv)
window=QMainWindow()
window.statusBar().showMessage("aaaa")
window.menuBar().addMenu("aaaaajjjj")
window.show()
sys.exit(app.exec())
这两个似乎是只有QMainWindow()才有用,在QWidget中是没有这个类的。
用QWidget()
app=QApplication(sys.argv)
window=QWidget()
window.statusBar().showMessage("aaaa")
window.menuBar().addMenu("aaaaajjjj")
window.show()
sys.exit(app.exec())
QDialog
对话窗口基类,主要用于短期任务的顶级窗口交互,没有放大按钮,和缩小按钮,只有关闭按钮
app=QApplication(sys.argv)
window=QDialog()
window.show()
sys.exit(app.exec())
面向对象继承
继承QWidget (其他类似)
顾名思义,就是继承QWidget这个窗口类,然后形成自己的窗口类,父类的窗口被继承,这样可以自己在这个类中定义自己的窗口。创2代了属于。
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
app=QApplication(sys.argv)
window=Window()
window.show()
sys.exit(app.exec())
可以设计一个不能拉动的,透明窗口
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(100,100,700,400) #设置窗口的位置大小(x,y,w,h)
self.setWindowTitle("hello world")#设置窗口的标题栏
self.setWindowIcon(QIcon(r'G:\script\Tool\target.png'))#设置窗口的图标
self.setFixedWidth(700)#设置窗口固定的宽
self.setFixedHeight(400)#设置窗口固定的长
self.setStyleSheet("background-color:green")#设置窗口的背景颜色
self.setWindowOpacity(1)#设置窗口的不透明度0~1,1是完全不透明
QtDesigner
这里放一下作者的安装帮助,可以去B站看一下原作者,很有帮助
链接:https://pan.baidu.com/s/1ONF05ppG8VAuRnoIGGJTSQ
提取码:480h
--来自百度网盘超级会员V4的分享
使用Designer生成ui
类似图形化界面的编辑,你可以手动拖动这些按键,然后还可以在右侧改变它的属性
点击保存以后会得到一个ui文件,可以转换为py文件,以下分别是ui文件的内容和py文件的内容
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>620</width>
<height>495</height>
</rect>
</property>
<property name="windowTitle">
<string>hello world</string>
</property>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>30</x>
<y>50</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>30</x>
<y>110</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>240</x>
<y>230</y>
<width>251</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Hello world</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(620, 495)
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(30, 50, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
self.pushButton_2.setGeometry(QtCore.QRect(30, 110, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.label = QtWidgets.QLabel(parent=Form)
self.label.setGeometry(QtCore.QRect(240, 230, 251, 16))
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "hello world"))
self.pushButton.setText(_translate("Form", "PushButton"))
self.pushButton_2.setText(_translate("Form", "PushButton"))
self.label.setText(_translate("Form", "Hello world"))
似乎是show不出来
u.show()
AttributeError: 'Ui_Form' object has no attribute 'show'这里再尝试使用命令行
pyuic6 -x .\ui\WinUI.ui -o ./WinUI.py
使用命令行进行了转换,还得到了程序的入口,但是还不懂什么意思,于是,开搜。
app = QtWidgets.QApplication(sys.argv)
:
- 这行代码创建了一个
QApplication
对象。在 PyQt 中,每个 GUI 应用程序必须有一个QApplication
对象。QApplication
管理应用程序的控制流程和主要设置。sys.argv
是一个从命令行传递参数的列表。它允许 PyQt 应用程序接受命令行参数。这是标准做法,即使您的应用程序不从命令行接受参数。
Form = QtWidgets.QWidget()
:
- 这行代码创建了一个
QWidget
对象,它是 PyQt 中所有用户界面对象的基类。在这种情况下,Form
将作为应用程序的主窗口。
ui = Ui_Form()
:
- 这里创建了
Ui_Form
类的一个实例。通常,Ui_Form
是使用 Qt Designer 设计的 GUI 的 Python 代码表示。这个类包含了设置 GUI(如添加按钮、文本框等)所需的所有方法和属性。
ui.setupUi(Form)
:
- 这行代码调用
Ui_Form
中的setupUi
方法,并将之前创建的Form
作为参数传递。这个方法负责初始化界面,将所有的控件添加到Form
窗口中。
Form.show()
:
- 该方法使
Form
窗口可见。在此之前,窗口已经创建并设置,但还没有显示在屏幕上。
sys.exit(app.exec())
:
app.exec()
启动应用程序的事件循环。这允许应用程序等待和响应用户的交互操作,例如点击按钮或关闭窗口。sys.exit()
确保应用程序可以干净地退出。exec()
方法返回一个整数状态码,sys.exit()
使用这个状态码作为应用程序退出时的返回值
这里Form传入后,作为窗口,也就是后面的parent,就是用来后面设置组件的。总的来说还是很方面的,以后可以设计分页面。
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt6 UI code generator 6.4.2
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(620, 495)
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(30, 50, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
self.pushButton_2.setGeometry(QtCore.QRect(30, 110, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.label = QtWidgets.QLabel(parent=Form)
self.label.setGeometry(QtCore.QRect(240, 230, 251, 16))
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "hello world"))
self.pushButton.setText(_translate("Form", "PushButton"))
self.pushButton_2.setText(_translate("Form", "PushButton"))
self.label.setText(_translate("Form", "Hello world"))
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())
直接在程序中使用ui
这里注意,一定要把self传进去,不然调用不到我们的ui文件,可以怎么理解,ui文件需要窗口去布置它的页面。
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
uic.loadUi(r'untitled.ui',self)
app=QApplication(sys.argv)
window=Window()
window.show()
sys.exit(app.exec())
QLabel
文本标签
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
label=QLabel("hello world",self)#创建一个文本标签,设置标签的内容,以及传递一个窗口
label.move(100,100)#移动标签
label.setFont(QFont("Sanserif",15))#设置标签的字体
label.setStyleSheet("color:red")#设置标签的字体颜色
label.setText("jack lh")#设置标签的内容
#label.clear() 清除标签
图像标签QPixmap
使用QPixmap去加载图片,然后set到label中,图像原大小显示
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
label=QLabel(self)
pixmap=QPixmap(r"G:\script\Tool\target.png")
label.setPixmap(pixmap)
#label.clear() 清除标签
git图像标签QMovie
使用QMovie可以显示动态的gif,要使用start方法
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
label=QLabel(self)
movie=QMovie(r'G:\script\Tool\target.png')
label.setMovie(movie)# 设置动态图播放速度
movie.setSpeed(500)
movie.start()
QPushButton
窗口中的按钮,也是给定了一个窗口,然后在窗口上添加按钮
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.create_button()
#label.clear() 清除标签
def create_button(self):
button=QPushButton("click",self)#定义一个按钮
button.setGeometry(100,100,100,100)#定义按钮的位置和大小
button.setFont(QFont("Time",14,QFont.Weight.ExtraBold))#定义按钮的字体样式
button.setIcon(QIcon(r"G:\script\Tool\bezier_curve_points.png"))#按钮log
可以设置按钮上的交互,比如说下拉菜单
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.create_button()
#label.clear() 清除标签
def create_button(self):
button=QPushButton("click",self)#定义一个按钮
button.setGeometry(100,100,100,100)#定义按钮的位置和大小
button.setFont(QFont("Time",14,QFont.Weight.ExtraBold))#定义按钮的字体样式
button.setIcon(QIcon(r"G:\script\Tool\bezier_curve_points.png"))#按钮log
menu=QMenu()#定义一个下拉菜单
menu.addAction("copy")#添加内容 addAction()
menu.addAction("cut")
menu.addAction("paste")
button.setMenu(menu)#设置菜单
QLineEdit
文本编辑框,用户可以用来文本编辑
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
line_edit=QLineEdit(self)
line_edit.setFont(QFont("Sanserif",15))#字体,老朋友了
line_edit.setPlaceholderText("please input your name")#提示文字
line_edit.setEchoMode(QLineEdit.EchoMode.Password)#文本框的属性,这里是密码属性
line_edit.setEnabled(False)#文本框是否运行编辑
Layout
QHBoxLayout
水平对齐对象,用于水平对齐。
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(1000,100,200,200)
btn1=QPushButton("click1")#定义按钮
btn2=QPushButton("click2")
btn3=QPushButton("click3")
btn4=QPushButton("click4")
hbx=QHBoxLayout()#定义一个水平布局
hbx.addWidget(btn1)#将按钮加入水平布局
hbx.addWidget(btn2)
hbx.addWidget(btn3)
hbx.addWidget(btn4)
self.setLayout(hbx)#设置窗口的布局
addSpacing()和Stretch()是一样的效果
hbx.addWidget(btn1)#将按钮加入水平布局中
hbx.addStretch(1)#设置了按钮间的间距
hbx.addWidget(btn2)
hbx.addStretch(1)
hbx.addWidget(btn3)
hbx.addWidget(btn4)
QVBoxLayout
垂直对齐对象,用于垂直对齐。
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(1000,100,400,200)
btn1=QPushButton("click1")#定义按钮
btn2=QPushButton("click2")
btn3=QPushButton("click3")
btn4=QPushButton("click4")
hbx=QVBoxLayout()#定义一个水平布局
hbx.addWidget(btn1)#将按钮加入垂直布局
hbx.addStretch(1)#设置了按钮间的间距
hbx.addWidget(btn2)
hbx.addStretch(1)
hbx.addWidget(btn3)
hbx.addWidget(btn4)
self.setLayout(hbx)#设置窗口的布局
QGridLayout
表格对齐对象,用于垂直水平对齐,拉动窗口依然是对齐的,拉到最小有限制,按钮不能被消失。
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(1000,100,400,200)
btn1=QPushButton("click1")#定义按钮
btn2=QPushButton("click2")
btn3=QPushButton("click3")
btn4=QPushButton("click4")
btn5 = QPushButton("click5")
btn6 = QPushButton("click6")
btn7 = QPushButton("click7")
hbx=QGridLayout()#定义一个网格布局
hbx.addWidget(btn1,0,0)#添加按钮,以及设置位置
hbx.addWidget(btn2, 0, 1)
hbx.addWidget(btn3, 0, 2)
hbx.addWidget(btn4, 1, 0)
hbx.addWidget(btn5, 1, 1)
hbx.addWidget(btn6, 1, 2)
hbx.addWidget(btn7, 2, 0)
self.setLayout(hbx)#设置窗口的布局
事件处理(Event Hadling)
代码操作
事件处理也称为信号和槽,就是点击后就可以响应一些事情
python 2024-02-01 17-58-23
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(100,100,100,100)
self.create_button()
def create_button(self):
button=QPushButton(self)
self.label=QLabel("hello world")#文本标签
layout=QHBoxLayout()#布局
layout.addWidget(button)#添加按钮
layout.addWidget(self.label)
self.setLayout(layout)
button.clicked.connect(self.func)#设置点击后的响应事件
def func(self):
self.label.setText("jackgod")#响应事件为更改label的内容
QtDesigner
可以设置输入框字体的样式,以及更改Label标签的样式
可以右键设置组件的布局,布局之间可以嵌套
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(620, 552)
self.widget = QtWidgets.QWidget(parent=Form)
self.widget.setGeometry(QtCore.QRect(60, 170, 235, 48))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.pushButton = QtWidgets.QPushButton(parent=self.widget)
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.say_hi)
self.horizontalLayout.addWidget(self.pushButton)
self.lineEdit = QtWidgets.QLineEdit(parent=self.widget)
font = QtGui.QFont()
font.setFamily("Microsoft PhagsPa")
font.setBold(True)
self.lineEdit.setFont(font)
self.lineEdit.setObjectName("lineEdit")
self.horizontalLayout.addWidget(self.lineEdit)
self.verticalLayout.addLayout(self.horizontalLayout)
self.label = QtWidgets.QLabel(parent=self.widget)
self.label.setStyleSheet("QLabel{\n"
"color:rgb(255, 85, 0)\n"
"}")
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def say_hi(self):
self.label.setText(self.lineEdit.text())
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "hello world"))
self.pushButton.setText(_translate("Form", "确认"))
self.label.setText(_translate("Form", "TextLabel"))
项目实践
计算器
方式一:利用QtDrsigner
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(620, 495)
self.pushButton = QtWidgets.QPushButton(parent=Form)
self.pushButton.setGeometry(QtCore.QRect(30, 50, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
self.pushButton_2.setGeometry(QtCore.QRect(30, 110, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.label = QtWidgets.QLabel(parent=Form)
self.label.setGeometry(QtCore.QRect(240, 230, 251, 16))
self.label.setObjectName("label")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "hello world"))
self.pushButton.setText(_translate("Form", "PushButton"))
self.pushButton_2.setText(_translate("Form", "PushButton"))
self.label.setText(_translate("Form", "Hello world"))
app=QApplication(sys.argv)
window=QWidget()
ui=second.Ui_Form()
ui.setupUi(window)
window.show()
sys.exit(app.exec())
方式二:直接编写代码
忽略了点击的细节,和样式细节,只是证明可以用这种方式实现
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.add_button=QPushButton("+")
self.jian_button=QPushButton("-")
self.muti_button=QPushButton("*")
self.dvid_button=QPushButton("/")
layout=QHBoxLayout()
layout.addWidget(self.add_button)
layout.addWidget(self.jian_button)
layout.addWidget(self.muti_button)
layout.addWidget(self.dvid_button)
l=QVBoxLayout()
self.input1=QLineEdit()
self.input2=QLineEdit()
self.la=QLabel()
l.addWidget(self.input1)
l.addWidget(self.input2)
l.addLayout(layout)
l.addWidget(self.la)
self.setLayout(l)
QRadioButton
直接编写代码
有时需要知道信号是由哪个控件发出的。对此PyQt5提供了sender()方法。当同一个按钮点击同一个反应函数的时候,就可以根据这个sender来区分。
在多组单选按钮之间,可以使用QButtonGroup来区分不同的单选组。
单选按钮的事件绑定使用toggled().connect()
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.radio1=QRadioButton()
self.radio1.setText("jack")#设置单选按钮的文本
self.radio1.setIcon(QIcon(r"G:\script\Tool\064051002443_IMG.jpg.png"))#设置单选按钮的图片
self.radio1.setIconSize(QSize(20,20))#设置单选按钮的图片的尺寸大小
self.radio2=QRadioButton()#设置单选按钮组
self.radio2.setText("god")
self.radio1.toggled.connect(self.cl)#单选按钮的绑定点击事件使用toggled
self.radio2.toggled.connect(self.cl)
self.bg1=QButtonGroup()
self.bg2=QButtonGroup()
lay1=QHBoxLayout()#这里设置一组单选按钮在一个布局中
self.bg1.addButton(self.radio1)
self.bg2.addButton(self.radio2)
lay1.addWidget(self.radio1)
lay1.addWidget(self.radio2)
self.radio3 = QRadioButton()
self.radio3.setText("3")
self.radio4 = QRadioButton()
self.radio4.setText("4")
lay2=QHBoxLayout()
self.bg2.addButton(self.radio3)
self.bg2.addButton(self.radio4)
lay2.addWidget(self.radio3)
lay2.addWidget(self.radio4)
lay3=QVBoxLayout()
lay3.addLayout(lay1)
lay3.addLayout(lay2)
self.label=QLabel()
self.label.setFont(QFont("Times",14))
lay3.addWidget(self.label)
self.setLayout(lay3)
def cl(self):
button_click=self.sender()#设置事件的接收
if(button_click.isChecked()):#查看是否有事件
self.label.setText(f"hello world{button_click.text()}")
QtDesigner使用
使用QtDesigner可以直接分组,这里的逻辑是,当两组单选按钮不在一个布局的时候,那么他就是分组的。
.isChecked():可以判断这个单选按钮是否被选中
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(596, 442)
self.widget = QtWidgets.QWidget(parent=Form)
self.widget.setGeometry(QtCore.QRect(33, 63, 64, 71))
self.widget.setObjectName("widget")
self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.verticalLayout.setObjectName("verticalLayout")
self.radioButton = QtWidgets.QRadioButton(parent=self.widget)
self.radioButton.setStyleSheet("QRadioButton{\n"
"size:20\n"
"}")
self.radioButton.setObjectName("radioButton")
self.verticalLayout.addWidget(self.radioButton)
self.radioButton_2 = QtWidgets.QRadioButton(parent=self.widget)
self.radioButton_2.setObjectName("radioButton_2")
self.verticalLayout.addWidget(self.radioButton_2)
self.radioButton_3 = QtWidgets.QRadioButton(parent=self.widget)
self.radioButton_3.setObjectName("radioButton_3")
self.verticalLayout.addWidget(self.radioButton_3)
self.label_2 = QtWidgets.QLabel(parent=Form)
self.label_2.setGeometry(QtCore.QRect(31, 140, 16, 16))
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.label = QtWidgets.QLabel(parent=Form)
self.label.setGeometry(QtCore.QRect(31, 161, 16, 16))
self.label.setText("")
self.label.setObjectName("label")
self.widget1 = QtWidgets.QWidget(parent=Form)
self.widget1.setGeometry(QtCore.QRect(103, 63, 33, 71))
self.widget1.setObjectName("widget1")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.widget1)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.radioButton_4 = QtWidgets.QRadioButton(parent=self.widget1)
self.radioButton_4.setObjectName("radioButton_4")
self.verticalLayout_2.addWidget(self.radioButton_4)
self.radioButton_5 = QtWidgets.QRadioButton(parent=self.widget1)
self.radioButton_5.setObjectName("radioButton_5")
self.verticalLayout_2.addWidget(self.radioButton_5)
self.radioButton_6 = QtWidgets.QRadioButton(parent=self.widget1)
self.radioButton_6.setObjectName("radioButton_6")
self.verticalLayout_2.addWidget(self.radioButton_6)
self.radioButton.toggled.connect(self.check_cli)
self.radioButton_2.toggled.connect(self.check_cli)
self.radioButton_3.toggled.connect(self.check_cli)
self.radioButton_4.toggled.connect(self.check_cli)
self.radioButton_5.toggled.connect(self.check_cli)
self.radioButton_6.toggled.connect(self.check_cli)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.radioButton.setText(_translate("Form", "java"))
self.radioButton_2.setText(_translate("Form", "Python"))
self.radioButton_3.setText(_translate("Form", "c++"))
self.radioButton_4.setText(_translate("Form", "a"))
self.radioButton_5.setText(_translate("Form", "b"))
self.radioButton_6.setText(_translate("Form", "c"))
def check_cli(self):
tex1 = ""
tex2 = ""
if self.radioButton.isChecked():
tex1 = "java"
if self.radioButton_2.isChecked():
tex1 = "Python"
if self.radioButton_3.isChecked():
tex1 = "c++"
if self.radioButton_4.isChecked():
tex2 = "a"
if self.radioButton_5.isChecked():
tex2 = "b"
if self.radioButton_6.isChecked():
tex2 = "c"
self.label.setText(tex1)
self.label_2.setText(tex2)