美文网首页pyqt学习笔记
每日学习3_pyqt_界面布局学习

每日学习3_pyqt_界面布局学习

作者: Symbian米汤 | 来源:发表于2018-01-24 01:05 被阅读29次

    每天都要有收获

    • 初步使用qtdesigner
    • 学会简单的布局

    布局管理:

    • 垂直布局 Vertical Layout
    • 水平布局 Horizontal Layout
    • 栅格布局 Grid Layout
    • 表单布局 Form Layout


      ui.png
      界面代码
    # -*- coding: utf-8 -*-
    
    # Form implementation generated from reading ui file 'designer_1.ui'
    #
    # Created by: PyQt5 UI code generator 5.9.2
    #
    # WARNING! All changes made in this file will be lost!
    
    from PyQt5 import QtCore, QtGui, QtWidgets
    
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.setObjectName("MainWindow")
            MainWindow.resize(657, 472)
            MainWindow.setStyleSheet("color: rgb(0, 170, 255);")
            self.centralwidget = QtWidgets.QWidget(MainWindow)
            self.centralwidget.setObjectName("centralwidget")
            self.pushButton = QtWidgets.QPushButton(self.centralwidget)
            self.pushButton.setGeometry(QtCore.QRect(314, 114, 75, 23))
            self.pushButton.setStyleSheet("font: 9pt \"幼圆\";")
            self.pushButton.setObjectName("pushButton")
            self.label_3 = QtWidgets.QLabel(self.centralwidget)
            self.label_3.setGeometry(QtCore.QRect(50, 90, 24, 16))
            self.label_3.setObjectName("label_3")
            self.label_4 = QtWidgets.QLabel(self.centralwidget)
            self.label_4.setGeometry(QtCore.QRect(40, 120, 48, 16))
            self.label_4.setObjectName("label_4")
            self.label_5 = QtWidgets.QLabel(self.centralwidget)
            self.label_5.setGeometry(QtCore.QRect(40, 140, 42, 16))
            self.label_5.setObjectName("label_5")
            self.line_2 = QtWidgets.QFrame(self.centralwidget)
            self.line_2.setGeometry(QtCore.QRect(259, 71, 16, 110))
            self.line_2.setFrameShape(QtWidgets.QFrame.VLine)
            self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
            self.line_2.setObjectName("line_2")
            self.widget = QtWidgets.QWidget(self.centralwidget)
            self.widget.setGeometry(QtCore.QRect(133, 71, 120, 86))
            self.widget.setObjectName("widget")
            self.gridLayout = QtWidgets.QGridLayout(self.widget)
            self.gridLayout.setContentsMargins(0, 0, 0, 0)
            self.gridLayout.setObjectName("gridLayout")
            self.maxdown_min = QtWidgets.QDoubleSpinBox(self.widget)
            self.maxdown_min.setObjectName("maxdown_min")
            self.gridLayout.addWidget(self.maxdown_min, 2, 0, 1, 1)
            self.return_max = QtWidgets.QDoubleSpinBox(self.widget)
            self.return_max.setObjectName("return_max")
            self.gridLayout.addWidget(self.return_max, 1, 1, 1, 1)
            self.label = QtWidgets.QLabel(self.widget)
            self.label.setObjectName("label")
            self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
            self.label_2 = QtWidgets.QLabel(self.widget)
            self.label_2.setObjectName("label_2")
            self.gridLayout.addWidget(self.label_2, 0, 1, 1, 1)
            self.maxdown_max = QtWidgets.QDoubleSpinBox(self.widget)
            self.maxdown_max.setObjectName("maxdown_max")
            self.gridLayout.addWidget(self.maxdown_max, 2, 1, 1, 1)
            self.sharp_min = QtWidgets.QDoubleSpinBox(self.widget)
            self.sharp_min.setObjectName("sharp_min")
            self.gridLayout.addWidget(self.sharp_min, 3, 0, 1, 1)
            self.sharp_max = QtWidgets.QDoubleSpinBox(self.widget)
            self.sharp_max.setObjectName("sharp_max")
            self.gridLayout.addWidget(self.sharp_max, 3, 1, 1, 1)
            self.return_min = QtWidgets.QDoubleSpinBox(self.widget)
            self.return_min.setObjectName("return_min")
            self.gridLayout.addWidget(self.return_min, 1, 0, 1, 1)
            MainWindow.setCentralWidget(self.centralwidget)
            self.menubar = QtWidgets.QMenuBar(MainWindow)
            self.menubar.setGeometry(QtCore.QRect(0, 0, 657, 23))
            self.menubar.setObjectName("menubar")
            MainWindow.setMenuBar(self.menubar)
            self.statusbar = QtWidgets.QStatusBar(MainWindow)
            self.statusbar.setObjectName("statusbar")
            MainWindow.setStatusBar(self.statusbar)
            self.label_3.setBuddy(self.return_min)
            self.label_4.setBuddy(self.maxdown_min)
            self.label_5.setBuddy(self.sharp_min)
    
            self.retranslateUi(MainWindow)
            self.pushButton.clicked.connect(MainWindow.onPushButton_clicked)
            QtCore.QMetaObject.connectSlotsByName(MainWindow)
    
        def retranslateUi(self, MainWindow):
            _translate = QtCore.QCoreApplication.translate
            MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
            self.pushButton.setText(_translate("MainWindow", "开始"))
            self.label_3.setText(_translate("MainWindow", "收益"))
            self.label_4.setText(_translate("MainWindow", "最大回撤"))
            self.label_5.setText(_translate("MainWindow", "sharp比"))
            self.label.setText(_translate("MainWindow", "最小值"))
            self.label_2.setText(_translate("MainWindow", "最大值"))
    
    运行代码
    # -*- coding: utf-8 -*-
    # @Time    : 2018/1/24 0:36
    # @Author  : houyujiang
    # @Email   : houyujiang@live.cn
    # @File    : designer1_run.py
    # @Software: PyCharm
    from PyQt5.QtCore import pyqtSlot
    from PyQt5.QtWidgets import QMainWindow,QApplication
    from designer_1 import Ui_MainWindow
    
    class LayoutDemo(QMainWindow,Ui_MainWindow):
        def __init__(self,parent = None):
            super(LayoutDemo,self).__init__(parent)
            self.setupUi(self)
        def onPushButton_clicked(self):
            print('收益_min:',self.return_min.text())
            print('收益_max:',self.return_max.text())
            print('最大回撤_min:', self.maxdown_min.text())
            print('最大回撤_max:', self.maxdown_max.text())
            print('sharp比_min:', self.sharp_min.text())
            print('sharp比_max:', self.sharp_max.text())
    if __name__ == '__main__':
        import sys
        app = QApplication(sys.argv)
        ui = LayoutDemo()
        ui.show()
        sys.exit(app.exec_())
    
    
    
    run.png

    相关文章

      网友评论

        本文标题:每日学习3_pyqt_界面布局学习

        本文链接:https://www.haomeiwen.com/subject/kebeaxtx.html