- Python : 3.8.13
- OS : Windows 21H1
- Conda : 4.12.0
- PyCharm : 2022.1 (Community Edition)
信号与槽
- 多对多
qt designer
- UI界面
- 信号与槽
先把下面的复选框勾上,然后点左边的,最后点右边。顺序要对,否则会发现右边缺东西或者不可选。
- 把常用的快捷键背下来,省时间。
代码
/********************************************************************************
** Form generated from reading UI file 'untitledg10128.ui'
**
** Created by: Qt User Interface Compiler version 5.9.7
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UNTITLEDG10128_H
#define UNTITLEDG10128_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QButtonGroup>
#include <QtWidgets/QHeaderView>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QRadioButton>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_MainWindow
{
public:
QWidget *centralwidget;
QPushButton *pushButton;
QPushButton *pushButton_2;
QRadioButton *radioButton;
QPushButton *pushButton_3;
QRadioButton *radioButton_2;
QRadioButton *radioButton_3;
QMenuBar *menubar;
QStatusBar *statusbar;
void setupUi(QMainWindow *MainWindow)
{
if (MainWindow->objectName().isEmpty())
MainWindow->setObjectName(QStringLiteral("MainWindow"));
MainWindow->resize(545, 390);
centralwidget = new QWidget(MainWindow);
centralwidget->setObjectName(QStringLiteral("centralwidget"));
pushButton = new QPushButton(centralwidget);
pushButton->setObjectName(QStringLiteral("pushButton"));
pushButton->setGeometry(QRect(270, 90, 75, 23));
pushButton_2 = new QPushButton(centralwidget);
pushButton_2->setObjectName(QStringLiteral("pushButton_2"));
pushButton_2->setGeometry(QRect(440, 90, 75, 23));
radioButton = new QRadioButton(centralwidget);
radioButton->setObjectName(QStringLiteral("radioButton"));
radioButton->setGeometry(QRect(150, 90, 89, 16));
pushButton_3 = new QPushButton(centralwidget);
pushButton_3->setObjectName(QStringLiteral("pushButton_3"));
pushButton_3->setGeometry(QRect(30, 210, 75, 23));
radioButton_2 = new QRadioButton(centralwidget);
radioButton_2->setObjectName(QStringLiteral("radioButton_2"));
radioButton_2->setGeometry(QRect(140, 190, 89, 16));
radioButton_3 = new QRadioButton(centralwidget);
radioButton_3->setObjectName(QStringLiteral("radioButton_3"));
radioButton_3->setGeometry(QRect(140, 240, 89, 16));
MainWindow->setCentralWidget(centralwidget);
menubar = new QMenuBar(MainWindow);
menubar->setObjectName(QStringLiteral("menubar"));
menubar->setGeometry(QRect(0, 0, 545, 23));
MainWindow->setMenuBar(menubar);
statusbar = new QStatusBar(MainWindow);
statusbar->setObjectName(QStringLiteral("statusbar"));
MainWindow->setStatusBar(statusbar);
retranslateUi(MainWindow);
QObject::connect(pushButton, SIGNAL(clicked()), MainWindow, SLOT(close()));
QObject::connect(pushButton_2, SIGNAL(clicked()), MainWindow, SLOT(close()));
QObject::connect(radioButton, SIGNAL(clicked()), pushButton, SLOT(click()));
QObject::connect(pushButton_3, SIGNAL(clicked()), radioButton_2, SLOT(toggle()));
QObject::connect(pushButton_3, SIGNAL(clicked()), radioButton_3, SLOT(hide()));
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", Q_NULLPTR));
pushButton->setText(QApplication::translate("MainWindow", "PushButton", Q_NULLPTR));
pushButton_2->setText(QApplication::translate("MainWindow", "PushButton", Q_NULLPTR));
radioButton->setText(QApplication::translate("MainWindow", "RadioButton", Q_NULLPTR));
pushButton_3->setText(QApplication::translate("MainWindow", "PushButton", Q_NULLPTR));
radioButton_2->setText(QApplication::translate("MainWindow", "RadioButton", Q_NULLPTR));
radioButton_3->setText(QApplication::translate("MainWindow", "RadioButton", Q_NULLPTR));
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UNTITLEDG10128_H
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'untitled.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(545, 390)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(270, 90, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setGeometry(QtCore.QRect(440, 90, 75, 23))
self.pushButton_2.setObjectName("pushButton_2")
self.radioButton = QtWidgets.QRadioButton(self.centralwidget)
self.radioButton.setGeometry(QtCore.QRect(150, 90, 89, 16))
self.radioButton.setObjectName("radioButton")
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setGeometry(QtCore.QRect(30, 210, 75, 23))
self.pushButton_3.setObjectName("pushButton_3")
self.radioButton_2 = QtWidgets.QRadioButton(self.centralwidget)
self.radioButton_2.setGeometry(QtCore.QRect(140, 190, 89, 16))
self.radioButton_2.setObjectName("radioButton_2")
self.radioButton_3 = QtWidgets.QRadioButton(self.centralwidget)
self.radioButton_3.setGeometry(QtCore.QRect(140, 240, 89, 16))
self.radioButton_3.setObjectName("radioButton_3")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 545, 23))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
self.pushButton.clicked.connect(MainWindow.close)
self.pushButton_2.clicked.connect(MainWindow.close)
self.radioButton.clicked.connect(self.pushButton.click)
self.pushButton_3.clicked.connect(self.radioButton_2.toggle)
self.pushButton_3.clicked.connect(self.radioButton_3.hide)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))
self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
self.radioButton.setText(_translate("MainWindow", "RadioButton"))
self.pushButton_3.setText(_translate("MainWindow", "PushButton"))
self.radioButton_2.setText(_translate("MainWindow", "RadioButton"))
self.radioButton_3.setText(_translate("MainWindow", "RadioButton"))
学习推荐
- QT
- PyQt
- PyQt5 - Docs
- Python文档 - English
- Python文档 - 中文
- Python规范 PEP
- Python规范 google版
- Python 源码
- Python PEP
- 掘金平台
- gitee平台
Python具有开源、跨平台、解释型和交互式等特性,值得学习。
Python的设计哲学:优雅,明确,简单。提倡用一种方法,最好是只有一种方法来做一件事。
GUI可以选择Tkinter、PySide2、wxPython、PyGObject、wxWidgets等进行创作。
代码的书写要遵守规范,这样有助于沟通和理解。
每种语言都有独特的思想,初学者需要转变思维、踏实践行、坚持积累。