使用PYQT搭建一个简易登录界面
Python/PyQt5/Qtdesigner设计登录界面——包括登录和注册界面切换_哔哩哔哩_bilibili
使用QT desiger设计界面
详细参加视频,注意不要把登录框重叠
使用Pycharm开发
暂时未遇到无法解决的问题,但是有些功能没有完全实现。
编写YOLO-V5目标检测主界面
安装YOLO-V5需要的环境(anaconda配置)
Anaconda-用conda创建python虚拟环境 - 知乎 (zhihu.com)
遇到的问题
编写主函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import sys from PyQt5 import QtGui from PyQt5.QtWidgets import QMainWindow, QFileDialog, QApplication from my_window import Ui_main_window
class UiMain(QMainWindow, Ui_main_window): def __init__(self, parent=None): super(UiMain, self).__init__(parent) self.file_name = None self.setupUi(self) self.video_button.clicked.connect(self.load_image)
def load_image(self): self.file_name, _ = QFileDialog.getOpenFileName(self, '请选择图片', '.', '图像文件(*.jpg,*.jpeg,*.png)') if self.file_name: print(self.file_name) self.result_label.setText("文件打开成功" + self.file_name) jpg = QtGui.QPixmap(self.file_name).scaled(self.img_label.width(), self.img_label.height()) self.img_label.setPixmap(jpg) else: self.result_label.setText("无效文件,文件打开失败")
if __name__ == "__main__": app = QApplication(sys.argv) main = UiMain() main.show() sys.exit(app.exec_())
|
总结
上面这种写法和一般的写法还有一些区别:就是说上面使用了一个类将实现了主窗口的编写,可以在此的基础上继承更多的类实现更多功能,一般的写法是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| import login import sys from PyQt5.QtWidgets import QApplication, QMainWindow
def show_signin(): loginUi.widget_3.hide() loginUi.widget_2.show()
def show_signup(): loginUi.widget_2.hide() loginUi.widget_3.show()
if __name__ == '__main__': app = QApplication(sys.argv) win = QMainWindow() loginUi = login.Ui_MainWindow() loginUi.setupUi(win) win.show() sys.exit(app.exec_())
|
还有就是这句话不是太理解:super(UiMain, self).__init__(parent)
,是自己写的类UiMain中的语句。