weixin_44532019 2023-01-10 10:14 采纳率: 68.2%
浏览 63
已结题

python pyqt5学习

问题遇到的现象和发生背景
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

6条回答 默认 最新

  • 阿_旭 2023-01-10 11:03
    关注

    img

    
    # 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_()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 1月18日
  • 已采纳回答 1月10日
  • 创建了问题 1月10日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效