# coding:utf-8
import sys
from PyQt5.QtWidgets import *
import sys #导系统
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class QTabWidgetDemo(QTabWidget):
def __init__(self):
super(QTabWidgetDemo, self).__init__()
self.resize(400, 150)
#设置窗口标题
self.setWindowTitle("QTabWidgetDemo")
#创建3个选项卡小控件窗口
self.tab1 = QWidget()
self.tab2 = QWidget()
self.tab3 = QWidget()
#将三个选项卡添加到顶层窗口中
self.addTab(self.tab1, "Tab 1")
self.addTab(self.tab2, "Tab 2")
self.addTab(self.tab3, "Tab 3")
#每个选项卡自定义的内容
# self.tab1UI()
# self.tab2UI()
# self.tab3UI()
def tab1UI(self):
#表单布局
layout = QFormLayout()
#添加姓名,地址的单行文本输入框
layout.addRow('姓名',QLineEdit())
layout.addRow('地址',QLineEdit())
#设置选项卡的小标题与布局方式
self.setTabText(0,'联系方式')
self.tab1.setLayout(layout)
def tab2UI(self):
#zhu表单布局,次水平布局
layout = QFormLayout()
sex = QHBoxLayout()
#水平布局添加单选按钮
sex.addWidget(QRadioButton('男'))
sex.addWidget(QRadioButton('女'))
#表单布局添加控件
layout.addRow(QLabel('性别'),sex)
layout.addRow('生日',QLineEdit())
#设置标题与布局
self.setTabText(1,'个人详细信息')
self.tab2.setLayout(layout)
def tab3UI(self):
#水平布局
layout = QHBoxLayout()
#添加控件到布局中
layout.addWidget(QLabel('科目'))
layout.addWidget(QCheckBox('物理'))
layout.addWidget(QCheckBox('高数'))
#设置小标题与布局方式
self.setTabText(2,'教育程度')
self.tab3.setLayout(layout)
class Home(QWidget):
def __init__(self): # 初始化函数
super(Home,self).__init__() # 继承QWidget
self.QTabWidget = QTabWidget()
self.initUi() # 直接调用initUi
def initUi(self):
self.setWindowTitle('学习')#设置标题
self.setWindowIcon(QIcon(''))#设置主页面的looog
#获取显示器分辨率来一边设置 之后的窗口设定
screen = QDesktopWidget().screenGeometry()
# print(screen.width(),screen.height()) #打印粉分辨率大小
self.resize(int(screen.width()/2),int(screen.height()/2) )#设置窗口大小
##——————————————————————————————————————————————————————————>>>>> 主要页面分割
self.main_Form() #初始主 窗体
self.menu_bar() #初始主 菜单栏
spliter1 = QSplitter(Qt.Horizontal) # 创建分割
spliter1.addWidget(self.topleft) # 装入第一个状体
self.tab = QTabWidgetDemo()
spliter1.addWidget(self.tab)
# spliter1.addWidget(self.textedit) # 装入第二个窗体
spliter1.setSizes([100, 600]) # 设置窗体比例 1:6
h_layout = QHBoxLayout(self) # 创建一个布局 水平布局
h_layout.addWidget(spliter1) # 将分割装入横向布局
self.setLayout(h_layout) # 这句没看懂
def main_Form(self):
self.textedit = QFrame() # 创建第二个窗体 调转状体 主窗体
self.textedit.setFrameShape(QFrame.StyledPanel) # 第二个窗体显示横线 调转状体 主窗体
def menu_bar(self): ## 菜单栏
self.topleft = QFrame() # 创建一个窗体 菜单栏窗体 QFrame样式可以更改好多种
self.topleft.setFrameShape(QFrame.StyledPanel) # 窗体显示横线
menu_fapiao = QPushButton('页面', self.topleft) ###创建一个按钮放在 菜单栏窗体中
h_layout = QVBoxLayout(self.topleft) #创建垂直布局
h_layout.addWidget(menu_fapiao) ##将按钮放在垂直布局中
h_layout.addStretch() #弹簧 顶到上面
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = Home()
ui.show() # 显示主出口
app.exec_()
没有看到你有具体的问题,如果想进行pyqt5相应的学习的话,可以参考一下以下教程;
https://blog.csdn.net/weixin_44238355/article/details/119901171
https://zhuanlan.zhihu.com/p/457972006
这些能帮助你快速入门
如果你是新手学习 PyQt5,我建议你可以从 PyQt5 入门教程开始学习。这篇教程涵盖了 PyQt5 的基础知识,包括安装,建立窗口,信号和槽,布局管理,按钮和文本框,菜单和工具栏,以及图形用户界面的调试。这篇教程是由许多小例子构成的,每个例子都是独立的,你可以按照你的意愿进行学习。
如果你已经对 PyQt5 有了一定的了解,你可以尝试学习其他的 PyQt5 教程,这些教程会深入讲解 PyQt5 的各个方面,包括图形图像处理,模型/视图编程,OpenGL 图形编程,网络编程,XML 处理等。
11
我之前帮一个人做过pyqt的项目,用了差不多10天左右的时间做出来,不过从我个人经验来讲,python面向对象基础知识你要了解掌握(类、对象相关的),有了这个基本上就是查查pyqt这个包的API,来做就行了,我查的最多的是
https://www.zhihu.com/column/pyqt5
这个,作为辅助来搞。其实只要根据你的需求百度着基本上没有解决不了的,最后在将你的程序打包成exe文件这个地方也要注意,有的有坑,差不多就这些了。
PyQt5是一个用于创建 GUI 应用程序的 Python 库。它是基于 Qt5 库开发的,Qt5 是一个用于开发跨平台应用程序的库。
下面是一些有用的资源来帮助你学习 PyQt5:
PyQt5 官方文档:https://www.riverbankcomputing.com/static/Docs/PyQt5/
PyQt5 教程:https://www.tutorialspoint.com/pyqt5/index.htm
PyQt5 视频教程:https://www.youtube.com/watch?v=RgDY5Q_O4g4&list=PLzMcBGfZo4-lB8MZfHPLTEHO9zJDDLpYj
使用 PyQt5 的一个常见方法是通过使用 Qt Designer 来创建 GUI 布局,然后使用 PyQt5 的 pyuic5 工具将其转换为 Python 代码。Qt Designer 是一个图形化布局工具,可以让你通过拖放组件来快速创建 GUI 布局。
下面是一些有用的资源来帮助你学习 Qt Designer:
Qt Designer 官方文档:https://doc.qt.io/qt-5/qtdesigner-manual.html
Qt Designer 教程:https://www.tutorialspoint.com/pyqt/pyqt_qtdesigner.htm
希望这些资源能帮助你开始学习 PyQt5。如果你有任何其他问题,可以随时问我。