design.py
# -*- coding: utf-8 -*-from PySide2 import QMetaObject, QCoreApplication
from PySide2 import QWidget, QVBoxLayout, QListWidget, QPushButton
from PySide2 import QtGui, QtWidgets, QtCore# 在Qt Designer中自動生成的代碼,但需要部分修改
#design.py 主要負責寫軟件界面的文件。class Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow") # 設置窗口名MainWindow.setWindowTitle("用這小程序~你很帥") # 設置窗口名MainWindow.resize(400, 400) # 設置窗口大小self.move(400, 400) # 設置窗口位置# file_menu = Ui_MainWindow(self) # 實例化一個菜單欄# file_menu.setFixedWidth(200) # 設置菜單欄的寬度# file_menu.addMenu("文件") # 添加一個菜單按鈕# file_menu.addMenu("編輯") # 添加一個菜單按鈕# file_menu.addMenu("關于") # 添加一個菜單按鈕# show()方法在屏幕上顯示一個widget,widget對象在這里第一次被在內存中創建,并且之后在屏幕上顯示。#self.show()# 喚醒窗口MainWindow.raise_()# 必須要手動創建一個總部件,并把子部件加載于此,否則會出現以下報錯:# QLayout: Attempting to add QLayout "" to WoHeYunApp "MainWindow", which already has a layoutself.centralwidget = QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.centralwidget.resize(400, 300)self.verticalLayout = QVBoxLayout()# self.verticalLayout.setObjectName("verticalLayout")# 窗口自適應部件MainWindow.setCentralWidget(self.centralwidget)self.verticalLayout_2 = QVBoxLayout(self.centralwidget)self.verticalLayout_2.setObjectName("verticalLayout_2")# self.listWidget.setObjectName("listWidget") ##列表選項類名字# self.verticalLayout.addWidget(self.listWidget) ##自動適應大小### self.verticalLayout_2.addLayout(self.verticalLayout)## self.retranslateUi(self.centralwidget)# QMetaObject.connectSlotsByName(self.centralwidget)# self.setToolTip('This is a <b>QWidget</b> widget')self.pushButton = QPushButton(self.centralwidget)# self.btn_dialog = QPushButton(self.centralwidget)# btn = self.btn_dialog# btn.move(0, 00)# btn.resize(500, 500)# self.btn.clicked.connect(self.openMessageBox)# self.btn_dialog.clicked.connect(self.openMessageBox)# self.connect(self.btn_dialog, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('openMessageBox()'))# self.gridLayout.addWidget(self.pushButton, 0, 1, 1, 1)B1 = self.pushButtonB1.repaint(0,0,200,200)B1.move(50, 50)B1.resize(300, 50)# repaint(self, x: int, y: int, w: int, h: int)self.pushButton2 = QPushButton(self.centralwidget)# self.pushButton2.resize(200, 100)B2 = self.pushButton2B2.repaint(0, 0, 200, 200)B2.move(50,100)B2.resize(300, 50)self.listWidget = QListWidget(self.centralwidget) #列表項類 centralwidget居中L1 = self.listWidgetL1.move(50,200)L1.resize(300, 100)# self.pushButton.setObjectName("pushButton")# self.verticalLayout.addWidget(self.pushButton)# self.verticalLayout.addWidget(self.pushButton2)#self.pushButton.setText("SQL文件名字及腳本 MYSQL 更換成GRAY")self.pushButton2.setText("kjb 文件 MYSQL更換成GRAY")# self.pushButton.setObjectName("按鈕1")# self.pushButton.setObjectName("按鈕2")# self.pushButton2 = QPushButton(self.centralwidget)# self.pushButton2 = QPushButton("按鈕1")# self.pushButton2.resize(1400, 800)# self.verticalLayout.addWidget(self.pushButton2)# self.pushButton2 =QPushButton(self.centralwidget)# self.pushButton2.setObjectName("按鈕1")# self.pushButton3 = QPushButton(self.centralwidget)# self.pushButton3.setObjectName("按鈕2")# self.pushButton4 = QPushButton(self.centralwidget)# self.pushButton4.setObjectName("按鈕3")def openMessageBox(self,STRING):msgBox = QtWidgets.QMessageBox()msgBox.addButton(QtWidgets.QMessageBox.Ok)msgBox.addButton(QtWidgets.QMessageBox.Cancel)# QtWidgets.QMessageBox.Ok | QtWidgets.QMessageBox.CancelmsgBox.setText(STRING)ret = msgBox.exec_()if ret == QtWidgets.QMessageBox.Ok: # 保存按鈕被點擊return 1elif ret == QtWidgets.QMessageBox.Cancel: # 不保存按鈕被點擊return 2else : # 取消按鈕被點擊return 3def retranslateUi(self, MainWindow):_translate = QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))# self.pushButton.setText(_translate("MainWindow", "Pick a folder"))class MyWidget(QtWidgets.QWidget):def __init__(self, parent=None):QtWidgets.QWidget.__init__(self, parent)self.setFixedSize(200, 120)self.btn_dialog = QtWidgets.QPushButton(u'彈出對話框')self.connect(self.btn_dialog, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('openMessageBox()'))self.layout = QtWidgets.QVBoxLayout()self.layout.addWidget(self.btn_dialog)self.setLayout(self.layout)# app = QtWidgets.QApplication()# widget = MyWidget()# widget.show()# sys.exit(app.exec_())
?
總結
- 上一篇: PySide2 基础入门-创建实例窗口(
- 下一篇: main.py