RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-469625

aqua's questions

Martin Hope
aqua
Asked: 2022-07-21 22:31:31 +0000 UTC

如何通过单击按钮更改图形

  • 0

项目必须实现一个绘制函数y = 5 / x + 4的图形的程序,x取自Scale,程序通过Button控制,图形颜色为D2691E

from tkinter import *

from matplotlib.figure import Figure 
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import numpy as np

def func():
    x = []
    y = []
    for i in np.arange(0, 3, 0.01):
        x.append(i)
        y.append(5 / var.get() + 4)
    plt.plot(x, y, color = '#D2691E')

tk = Tk() 

tk.title('') 
tk.geometry("700x500") 

btn = Button(master = tk, text = 'change', command = func)
btn.pack()

fig = Figure(figsize = (10, 4))

plt = fig.add_subplot()

canvas = FigureCanvasTkAgg(fig, master = tk)
canvas.draw()
canvas.get_tk_widget().pack()

var = DoubleVar()
scale = Scale(tk, orient = HORIZONTAL, variable = var)
scale.pack()

tk.mainloop()
python tkinter
  • 1 个回答
  • 40 Views
Martin Hope
aqua
Asked: 2022-07-01 22:26:33 +0000 UTC

在 QStackedWidget 应用程序窗口之间切换

  • 0

实现Windows应用程序之间的切换如何正确?现在看起来不太好。

现在实现的方式:

from PyQt5 import QtCore, QtGui, QtWidgets


# классы Ui отвечают за шаблон графического интерфейса
# ! не изменять, если вы не знаете что вы делаете
class Ui_Win1(object):
    def setupUi(self, Win1):
        Win1.setObjectName("Win1")
        Win1.resize(450, 800)
        self.widgetWin1 = QtWidgets.QWidget(Win1)
        self.widgetWin1.setObjectName("widgetWin1")
        self.text1 = QtWidgets.QLabel(self.widgetWin1)
        self.text1.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text1.setObjectName("text1")
        self.bnt = QtWidgets.QPushButton(self.widgetWin1)
        self.bnt.setGeometry(QtCore.QRect(0, 772, 150, 28))
        self.bnt.setObjectName("bnt")
        self.bnt_2 = QtWidgets.QPushButton(self.widgetWin1)
        self.bnt_2.setGeometry(QtCore.QRect(150, 772, 150, 28))
        self.bnt_2.setObjectName("bnt_2")
        self.bnt_3 = QtWidgets.QPushButton(self.widgetWin1)
        self.bnt_3.setGeometry(QtCore.QRect(300, 772, 150, 28))
        self.bnt_3.setObjectName("bnt_3")
        Win1.setCentralWidget(self.widgetWin1)

        self.retranslateUi(Win1)
        QtCore.QMetaObject.connectSlotsByName(Win1)

    def retranslateUi(self, Win1):
        _translate = QtCore.QCoreApplication.translate
        Win1.setWindowTitle(_translate("Win1", "MainWindow"))
        self.text1.setText(_translate("Win1", "Win1"))
        self.bnt.setText(_translate("Win1", "1"))
        self.bnt_2.setText(_translate("Win1", "2"))
        self.bnt_3.setText(_translate("Win1", "3"))


class Ui_Win2(object):
    def setupUi(self, Win2):
        Win2.setObjectName("Win2")
        Win2.resize(450, 800)
        self.widgetWin2 = QtWidgets.QWidget(Win2)
        self.widgetWin2.setObjectName("widgetWin2")
        self.text2 = QtWidgets.QLabel(self.widgetWin2)
        self.text2.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text2.setObjectName("text2")
        self.bnt = QtWidgets.QPushButton(self.widgetWin2)
        self.bnt.setGeometry(QtCore.QRect(0, 772, 150, 28))
        self.bnt.setObjectName("bnt")
        self.bnt_2 = QtWidgets.QPushButton(self.widgetWin2)
        self.bnt_2.setGeometry(QtCore.QRect(150, 772, 150, 28))
        self.bnt_2.setObjectName("bnt_2")
        self.bnt_3 = QtWidgets.QPushButton(self.widgetWin2)
        self.bnt_3.setGeometry(QtCore.QRect(300, 772, 150, 28))
        self.bnt_3.setObjectName("bnt_3")
        Win2.setCentralWidget(self.widgetWin2)

        self.retranslateUi(Win2)
        QtCore.QMetaObject.connectSlotsByName(Win2)

    def retranslateUi(self, Win2):
        _translate = QtCore.QCoreApplication.translate
        Win2.setWindowTitle(_translate("Win2", "MainWindow"))
        self.text2.setText(_translate("Win2", "Win2"))
        self.bnt.setText(_translate("Win2", "1"))
        self.bnt_2.setText(_translate("Win2", "2"))
        self.bnt_3.setText(_translate("Win2", "3"))


class Ui_Win3(object):
    def setupUi(self, Win3):
        Win3.setObjectName("Win3")
        Win3.resize(450, 800)
        self.widgetWin3 = QtWidgets.QWidget(Win3)
        self.widgetWin3.setObjectName("widgetWin3")
        self.text3 = QtWidgets.QLabel(self.widgetWin3)
        self.text3.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text3.setObjectName("text3")
        self.bnt = QtWidgets.QPushButton(self.widgetWin3)
        self.bnt.setGeometry(QtCore.QRect(0, 772, 150, 28))
        self.bnt.setObjectName("bnt")
        self.bnt_2 = QtWidgets.QPushButton(self.widgetWin3)
        self.bnt_2.setGeometry(QtCore.QRect(150, 772, 150, 28))
        self.bnt_2.setObjectName("bnt_2")
        self.bnt_3 = QtWidgets.QPushButton(self.widgetWin3)
        self.bnt_3.setGeometry(QtCore.QRect(300, 772, 150, 28))
        self.bnt_3.setObjectName("bnt_3")
        Win3.setCentralWidget(self.widgetWin3)

        self.retranslateUi(Win3)
        QtCore.QMetaObject.connectSlotsByName(Win3)

    def retranslateUi(self, Win3):
        _translate = QtCore.QCoreApplication.translate
        Win3.setWindowTitle(_translate("Win3", "MainWindow"))
        self.text3.setText(_translate("Win3", "Win3"))
        self.bnt.setText(_translate("Win3", "1"))
        self.bnt_2.setText(_translate("Win3", "2"))
        self.bnt_3.setText(_translate("Win3", "3"))


# Функциональные классы наследуют виджеты классов Ui
class Win1(QtWidgets.QMainWindow, Ui_Win1):
    def __init__(self, parent = None):
        super(Win1, self).__init__(parent)
        self.setupUi(self)
        self.parent = parent
        self.stacked = self.parent.stacked

        self.bnt.clicked.connect(lambda : self.stacked.setCurrentIndex(0))
        self.bnt_2.clicked.connect(lambda : self.stacked.setCurrentIndex(1))
        self.bnt_3.clicked.connect(lambda : self.stacked.setCurrentIndex(2))


class Win2(QtWidgets.QMainWindow, Ui_Win2):
    def __init__(self, parent = None):
        super(Win2, self).__init__(parent)
        self.setupUi(self)
        self.parent = parent
        self.stacked = self.parent.stacked

        self.bnt.clicked.connect(lambda : self.stacked.setCurrentIndex(0))
        self.bnt_2.clicked.connect(lambda : self.stacked.setCurrentIndex(1))
        self.bnt_3.clicked.connect(lambda : self.stacked.setCurrentIndex(2))


class Win3(QtWidgets.QMainWindow, Ui_Win3):
    def __init__(self, parent = None):
        super(Win3, self).__init__(parent)
        self.setupUi(self)
        self.parent = parent
        self.stacked = self.parent.stacked

        self.bnt.clicked.connect(lambda : self.stacked.setCurrentIndex(0))
        self.bnt_2.clicked.connect(lambda : self.stacked.setCurrentIndex(1))
        self.bnt_3.clicked.connect(lambda : self.stacked.setCurrentIndex(2))


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        self.stacked = QtWidgets.QStackedWidget(self)
        self.setCentralWidget(self.stacked)

        self.Window_Win1 = Win1(self)
        self.Window_Win2 = Win2(self)
        self.Window_Win3 = Win3(self)

        self.stacked.addWidget(self.Window_Win1)
        self.stacked.addWidget(self.Window_Win2)
        self.stacked.addWidget(self.Window_Win3)


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.resize(450, 800)
    window.show()
    sys.exit(app.exec_())

这里在所有功能类中重复相同的设计,这不好,我Ui在所有类中添加按钮以简化设计,代替多个继承,这也不好。

我该如何解决这个问题,我应该怎么做?

界面类:

class Ui_Win1(object):
    def setupUi(self, Win1):
        Win1.setObjectName("Win1")
        Win1.resize(450, 800)
        self.widgetWin1 = QtWidgets.QWidget(Win1)
        self.widgetWin1.setObjectName("widgetWin1")
        self.text1 = QtWidgets.QLabel(self.widgetWin1)
        self.text1.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text1.setObjectName("text1")
        Win1.setCentralWidget(self.widgetWin1)

        self.retranslateUi(Win1)
        QtCore.QMetaObject.connectSlotsByName(Win1)

    def retranslateUi(self, Win1):
        _translate = QtCore.QCoreApplication.translate
        Win1.setWindowTitle(_translate("Win1", "MainWindow"))
        self.text1.setText(_translate("Win1", "Win1"))


class Ui_Win2(object):
    def setupUi(self, Win2):
        Win2.setObjectName("Win2")
        Win2.resize(450, 800)
        self.widgetWin2 = QtWidgets.QWidget(Win2)
        self.widgetWin2.setObjectName("widgetWin2")
        self.text2 = QtWidgets.QLabel(self.widgetWin2)
        self.text2.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text2.setObjectName("text2")
        Win2.setCentralWidget(self.widgetWin2)

        self.retranslateUi(Win2)
        QtCore.QMetaObject.connectSlotsByName(Win2)

    def retranslateUi(self, Win2):
        _translate = QtCore.QCoreApplication.translate
        Win2.setWindowTitle(_translate("Win2", "MainWindow"))
        self.text2.setText(_translate("Win2", "Win2"))


class Ui_Win3(object):
    def setupUi(self, Win3):
        Win3.setObjectName("Win3")
        Win3.resize(450, 800)
        self.widgetWin3 = QtWidgets.QWidget(Win3)
        self.widgetWin3.setObjectName("widgetWin3")
        self.text3 = QtWidgets.QLabel(self.widgetWin3)
        self.text3.setGeometry(QtCore.QRect(197, 378, 56, 16))
        self.text3.setObjectName("text3")
        Win3.setCentralWidget(self.widgetWin3)

        self.retranslateUi(Win3)
        QtCore.QMetaObject.connectSlotsByName(Win3)

    def retranslateUi(self, Win3):
        _translate = QtCore.QCoreApplication.translate
        Win3.setWindowTitle(_translate("Win3", "MainWindow"))
        self.text3.setText(_translate("Win3", "Win3"))


class Ui_Bnt(object):
    def setupUi(self, Bnt):
        Bnt.setObjectName("Bnt")
        Bnt.resize(450, 800)
        self.widgetBnt = QtWidgets.QWidget(Bnt)
        self.widgetBnt.setObjectName("widgetBnt")
        self.bnt = QtWidgets.QPushButton(self.widgetBnt)
        self.bnt.setGeometry(QtCore.QRect(0, 772, 150, 28))
        self.bnt.setObjectName("bnt")
        self.bnt_2 = QtWidgets.QPushButton(self.widgetBnt)
        self.bnt_2.setGeometry(QtCore.QRect(150, 772, 150, 28))
        self.bnt_2.setObjectName("bnt_2")
        self.bnt_3 = QtWidgets.QPushButton(self.widgetBnt)
        self.bnt_3.setGeometry(QtCore.QRect(300, 772, 150, 28))
        self.bnt_3.setObjectName("bnt_3")
        Bnt.setCentralWidget(self.widgetBnt)

        self.retranslateUi(Bnt)
        QtCore.QMetaObject.connectSlotsByName(Bnt)

    def retranslateUi(self, Bnt):
        _translate = QtCore.QCoreApplication.translate
        Bnt.setWindowTitle(_translate("Bnt", "MainWindow"))
        self.bnt.setText(_translate("Bnt", "1"))
        self.bnt_2.setText(_translate("Bnt", "2"))
        self.bnt_3.setText(_translate("Bnt", "3"))

注意:不使用 QLayout 和按钮被其他东西替换。

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-29 22:07:04 +0000 UTC

在 QTableWidget 中使用 Undo 框架

  • 2

如何实现撤销和重做操作QTableWidget?

让我们以一个简单的窗口为例QTableWidget,我们将在其中跟踪击键,组合键Ctrl+Z取消操作,Ctrl+Y重复。

from PyQt5 import QtWidgets, QtCore, QtGui


class Window(QtWidgets.QWidget):
    def __init__(self, parent = None):
        super(Window, self).__init__(parent)
        self.resize(400, 400)

        self.tableWidget = QtWidgets.QTableWidget(10, 10)

        self.vbox = QtWidgets.QVBoxLayout(self)
        self.vbox.addWidget(self.tableWidget)

    def keyPressEvent(self, event):
        if event.text() == '<0x1a>':
            self.tableWidget.undo()
        elif event.text() == '<0x19>':
            self.tableWidget.redo()


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    window = Window()
    window.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-23 23:02:41 +0000 UTC

如何简化设计

  • 1

鉴于将设计简化为 1 行代码的任务

with open('text.txt', 'a') as f:
    i = ' '
    while True:
        i = input()
        f.write(i + '\n')
        if i == '':
            break

我设法简化为只有 2 行代码

i = ' '
while bool(i): i = input(); open('text.txt', 'a').write(f'{i}\n')
python
  • 2 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-23 18:01:10 +0000 UTC

如何设置 QTableWidget 和 QScrollBar 之间的距离

  • 1

QTableWidget和之间的距离如何设置QScrollBar?
也许它需要通过某种方式设计setStyleSheet?

我查看了PyQt5文档和样式表,但没有找到任何东西。我也没有看到有人在论坛上谈到这个话题。

我希望表格看起来像这样: 在此处输入图像描述

编码 :

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 400)
        MainWindow.setStyleSheet("background-color: #ffffff;")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("QTableWidget {\n"
"    selection-background-color: #cccccc;\n"
"    selection-color: #000000;\n"
"    gridline-color: #000000;\n"
"}\n"
"QHeaderView::section {\n"
"    background-color: #f2f2f2;\n"
"    border-style: none;\n"
"    border-bottom: 1px solid #000000;\n"
"    border-right: 1px solid #000000;\n"
"}\n"
"QTableWidget QTableCornerButton::section {\n"
"    background-color: #f2f2f2;\n"
"    border: 1px solid #000000;\n"
"}\n"
"QHeaderView::section:horizontal\n"
"{\n"
"    border-top: 1px solid #000000;\n"
"}\n"
"QHeaderView::section:vertical\n"
"{\n"
"    border-left: 1px solid #000000;\n"
"}\n"
"QTableWidget {\n"
"    border: 0px solid ;\n"
"}\n"
"QScrollBar:horizontal {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:horizontal {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{\n"
"    background: none;\n"
"}\n"
"QScrollBar:vertical {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:vertical {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical{\n"
"    background: none;\n"
"}")
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(10, 10, 370, 370))
        self.tableWidget.setRowCount(10)
        self.tableWidget.setColumnCount(10)
        self.tableWidget.setObjectName("tableWidget")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-21 22:33:34 +0000 UTC

如何在 QTableWidget 中将单元格大小设置为 50 以下

  • 1

如何在下面设置单元格50大小QTableWidget?setMinimumWidth我尝试使用 :和方法setMinimumHeight (这是我在文档中找到的)设置最小宽度和高度,但它不起作用。

也就是说,使所有单元格都适合表格而不形成滚动条。

代码示例:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 400)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(10, 40, 380, 345))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.tableWidget.setColumnCount(10)
        self.tableWidget.setRowCount(20)
        self.tableWidget.verticalHeader().setVisible(False)
        self.tableWidget.horizontalHeader().setVisible(False)
        self.tableWidget.setMinimumWidth(1) # < --- 
        self.tableWidget.setMinimumHeight(1) # < --- то что я пытался сделать
        self.tableWidget.verticalHeader().setDefaultSectionSize(17)

        for i in range(10):
            self.tableWidget.setColumnWidth(i, (63 if i in [0, 4, 8, 9] else 21))


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-16 19:17:13 +0000 UTC

用另一个类Pyqt5的小部件替换一个类的小部件

  • 1

我想用另一个类的小部件替换一个类的小部件。
即删除所有小部件对象,并在 widget 中centralwidget1 声明所有小部件对象。centralwidget2centralwidget1

我尝试引用Ui_MainWindow2小部件类centralwidget2并在小部件中声明所有小部件对象centralwidget2,centralwidget1我也尝试继承小部件

我设法创建了一个新窗口并关闭了旧窗口。这也可以通过更改对象本身的内容来完成,但我想在一个类中编写所有逻辑并从其他类继承小部件。

它应该是什么样子: 在此处输入图像描述

编码 :



class Ui_MainWindow1(object):
    def setupUi(self, MainWindow1):
        MainWindow1.setObjectName("MainWindow1")
        MainWindow1.resize(400, 400)
        self.centralwidget1 = QtWidgets.QWidget(MainWindow1)
        self.centralwidget1.setObjectName("centralwidget1")
        self.pushButton1 = QtWidgets.QPushButton(self.centralwidget1)
        self.pushButton1.setGeometry(QtCore.QRect(153, 252, 94, 29))
        self.pushButton1.setObjectName("pushButton1")
        self.label1 = QtWidgets.QLabel(self.centralwidget1)
        self.label1.setGeometry(QtCore.QRect(172, 118, 56, 17))
        self.label1.setObjectName("label1")
        MainWindow1.setCentralWidget(self.centralwidget1)

        self.retranslateUi(MainWindow1)
        QtCore.QMetaObject.connectSlotsByName(MainWindow1)

    def retranslateUi(self, MainWindow1):
        _translate = QtCore.QCoreApplication.translate
        MainWindow1.setWindowTitle(_translate("MainWindow1", "MainWindow"))
        self.pushButton1.setText(_translate("MainWindow1", "Кнопка 1"))
        self.label1.setText(_translate("MainWindow1", "Окно 1"))


class Ui_MainWindow2(object):
    def setupUi(self, MainWindow2):
        MainWindow2.setObjectName("MainWindow2")
        MainWindow2.resize(400, 400)
        self.centralwidget2 = QtWidgets.QWidget(MainWindow2)
        self.centralwidget2.setObjectName("centralwidget2")
        self.pushButton2 = QtWidgets.QPushButton(self.centralwidget2)
        self.pushButton2.setGeometry(QtCore.QRect(153, 252, 94, 29))
        self.pushButton2.setObjectName("pushButton2")
        self.label2 = QtWidgets.QLabel(self.centralwidget2)
        self.label2.setGeometry(QtCore.QRect(172, 118, 56, 17))
        self.label2.setObjectName("label2")
        MainWindow2.setCentralWidget(self.centralwidget2)

        self.retranslateUi(MainWindow2)
        QtCore.QMetaObject.connectSlotsByName(MainWindow2)

    def retranslateUi(self, MainWindow2):
        _translate = QtCore.QCoreApplication.translate
        MainWindow2.setWindowTitle(_translate("MainWindow2", "MainWindow"))
        self.pushButton2.setText(_translate("MainWindow2", "Кнопка 2"))
        self.label2.setText(_translate("MainWindow2", "Окно 2"))


class Ui_MainWindow3(object):
    def setupUi(self, MainWindow3):
        MainWindow3.setObjectName("MainWindow3")
        MainWindow3.resize(400, 400)
        self.centralwidget3 = QtWidgets.QWidget(MainWindow3)
        self.centralwidget3.setObjectName("centralwidget3")
        self.pushButton3 = QtWidgets.QPushButton(self.centralwidget3)
        self.pushButton3.setGeometry(QtCore.QRect(153, 252, 94, 29))
        self.pushButton3.setObjectName("pushButton3")
        MainWindow3.setCentralWidget(self.centralwidget3)

        self.retranslateUi(MainWindow3)
        QtCore.QMetaObject.connectSlotsByName(MainWindow3)

    def retranslateUi(self, MainWindow3):
        _translate = QtCore.QCoreApplication.translate
        MainWindow3.setWindowTitle(_translate("MainWindow3", "MainWindow"))
        self.pushButton3.setText(_translate("MainWindow3", "Кнопка 3"))


class MainWindow3(QtWidgets.QMainWindow, Ui_MainWindow3):
    def __init__(self, parent = None):
        super().__init__()
        self.setupUi(self)
        self.parent = parent


class MainWindow2(QtWidgets.QMainWindow, Ui_MainWindow2):
    def __init__(self, parent = None):
        super().__init__()
        self.setupUi(self)
        self.parent = parent

        self.window3 = MainWindow3(self)

        self.pushButton2.clicked.connect(self.create_win3)

    def create_win3(self):
        self.hide()
        self.window3.show()


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow1):
    def __init__(self):# --- (self, centralwidget2) < --- хотел попробовать унаследовать виджет (centralwidget2) чтобы потом обявить в виждете (self.centralwidget1)
        super().__init__()
        self.setupUi(self)

        self.window2 = MainWindow2(self)

        self.pushButton1.clicked.connect(self.create_win2)

    def create_win2(self):
        self.hide()# --- self.centralwidget1.setHiden(True) < --- удалит все обьекты виджета (self.centralwidget1)
        self.window2.show()# --- Ui_MainWindow2.centralwidget2(self.centralwidget1) < --- хотел попробовать обратиться к виджету (centralwidget2) и обявить в виждете (self.centralwidget1)


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-15 04:19:49 +0000 UTC

测量python代码的速度

  • 0

我想在代码中编写代码,该代码将创建一个输出窗口,该窗口显示启动窗口或执行程序所花费的时间,而不考虑创建输出窗口所花费的时间:

例如,让我们看一个由我们将检查的库创建的窗口,以及创建由库创建的用于输出pyqt5的窗口的程序本身。tkinter如果我在一个单独的文件中运行输出程序,那么它将正常工作,但如果我想将它放在我想要检查的程序本身中,那么它就不起作用。

我试图将输出代码从程序中分离出来,以使用一些分隔符(从#/*到#*/)作为注释进行检查,并在读取文件时跳过放置在分隔符中的代码。

输出代码:

from tkinter import *
import timeit

root = Tk()
root.geometry('200x100')

with open('test.py', 'r') as f:
    code = f.read()

time = timeit.timeit(code, number = 1)
text = '[Program finished in %d %s]' %\
(time * 1000, 'ms') if time < 1 else (time, 's') if 1 < time < 60\
else (time / 60, 'm') if 60 < time < 3600 else (time / 3600, 'h')

Label(text = text).place(x = 10, y = 10)

root.mainloop()

我已经用输出代码检查过的代码:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(450, 450)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

#/* < --- начало
from tkinter import *
import timeit

root = Tk()
root.geometry('200x100')

with open('test.py', 'r') as f:
    code = f.read()
    code = code.replace(code[code.find('#/*') : code.find('#*/') + 3], '') # < --- то что я попробовал сделать 

time = timeit.timeit(code, number = 1)
text = '[Program finished in %d %s]' %\
(time * 1000, 'ms') if time < 1 else (time, 's') if 1 < time < 60\
else (time / 60, 'm') if 60 < time < 3600 else (time / 3600, 'h')

Label(text = text).place(x = 10, y = 10)

root.mainloop()
#*/ < --- конец код вывода помесчёный в код который проверяем 

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

理论上应该如何:

在此处输入图像描述

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-14 18:41:57 +0000 UTC

更改 QTableWidget 单元格的颜色

  • 2

为什么这条线StyleSheet停止改变单元格的颜色。

QTableView::item {\n
    border-right: 1px solid #000000;\n
    border-bottom: 1px solid #000000;\n
}

如果您删除它,那么一切都会正常工作,但我需要border单元格中的笔划()来说明如何修复它。

编码:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 400)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.centralwidget.setStyleSheet("QTableWidget {\n"
"    border: 0px solid ;\n"
"    gridline-color: #000000;\n"
"}\n"
"QTableView::item {\n"
"    border-right: 1px solid #000000;\n"
"    border-bottom: 1px solid #000000;\n"
"}")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(0, 0, 400, 400))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.tableWidget.setColumnCount(2)
        self.tableWidget.setRowCount(2)

        for i in range(2):
            item = QtWidgets.QTableWidgetItem()
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(9)
            font.setBold(True)
            font.setWeight(75)
            item.setFont(font)
            item.setText(str(i + 1))
            self.tableWidget.setItem(i, 0, item)

        self.tableWidget.item(0, 0).setBackground(QtGui.QColor('#cccccc'))# <---  измменение цвета ячейки


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-13 04:36:18 +0000 UTC

创建用户表

  • 2

如何创建只读表而不能选择、编辑表的内容及其大小。

我无法编辑表格中的内容及其大小,并且我想通过创建两个表格并使用样式表将选择颜色更改为背景颜色来制造无法选择的错觉,但是我没有找到如何删除虚线并调整行列的大小。

现在看起来像这样:

在此处输入图像描述

我希望它看起来像这样:

在此处输入图像描述

我的代码:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(440, 450)
        MainWindow.setStyleSheet("background-color: #ffffff")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setStyleSheet("QTableWidget {\n"
"    selection-background-color: #ffffff;\n"
"    selection-color: #000000;\n"
"    gridline-color: #000000;\n"
"}\n"
"QHeaderView::section {\n"
"    background-color: #cccccc;\n"
"    border-style: none;\n"
"    border-bottom: 1px solid #000000;\n"
"    border-right: 1px solid #000000;\n"
"}\n"
"QTableWidget QTableCornerButton::section {\n"
"    background-color: #cccccc;\n"
"    border: 1px solid #000000;\n"
"}\n"
"QHeaderView::section:horizontal\n"
"{\n"
"    border-top: 1px solid #000000;\n"
"}\n"
"QHeaderView::section:vertical\n"
"{\n"
"    border-left: 1px solid #000000;\n"
"}\n"
"QTableWidget {\n"
"    border: 0px solid ;\n"
"}\n"
"/*QScrollBar*/\n"
"QScrollBar:horizontal {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:horizontal {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{\n"
"    background: none;\n"
"}\n"
"\n"
"QScrollBar:vertical {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:vertical {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical{\n"
"    background: none;\n"
"}")
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(0, 0, 440, 24))
        self.tableWidget.setStyleSheet("")
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(0)
        self.tableWidget.setRowCount(0)
        self.tableWidget_2 = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget_2.setGeometry(QtCore.QRect(0, 24, 440, 426))
        self.tableWidget_2.setObjectName("tableWidget_2")
        self.tableWidget_2.setColumnCount(0)
        self.tableWidget_2.setRowCount(0)
        MainWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))


class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        mas_column = ['1', '2', '3', '4', '5', '6']
        self.tableWidget.setColumnCount(len(mas_column))
        for i in range(len(mas_column)):
            item = QtWidgets.QTableWidgetItem()
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(6)
            font.setBold(True)
            font.setWeight(75)
            item.setFont(font)
            item.setText(mas_column[i])
            self.tableWidget.setHorizontalHeaderItem(i, item)
        self.tableWidget.horizontalHeader().setDefaultSectionSize(440//len(mas_column))
        self.tableWidget.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.tableWidget.horizontalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Fixed)
        self.tableWidget.verticalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Fixed)

        mas_row = ['1', '2', '3']
        self.tableWidget_2.setColumnCount(len(mas_column) - 1)
        self.tableWidget_2.setRowCount(len(mas_row))
        self.tableWidget_2.horizontalHeader().setVisible(False)
        for i in range(len(mas_row)):
            item = QtWidgets.QTableWidgetItem()
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(6)
            font.setBold(True)
            font.setWeight(75)
            item.setFont(font)
            item.setText(mas_row[i])
            self.tableWidget_2.setVerticalHeaderItem(i, item)
        self.tableWidget_2.horizontalHeader().setDefaultSectionSize(440//len(mas_column))
        self.tableWidget_2.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
        self.tableWidget_2.verticalHeader().setSectionResizeMode(QtWidgets.QHeaderView.Fixed)

        n = 0
        mas_cell = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15']
        for j in range(len(mas_column) - 1):
            for i in range(len(mas_row)):
                item = QtWidgets.QTableWidgetItem()
                item.setTextAlignment(QtCore.Qt.AlignCenter)
                font = QtGui.QFont()
                font.setFamily('Montserrat')
                font.setPointSize(6)
                font.setBold(True)
                font.setWeight(75)
                item.setFont(font)
                item.setText(mas_cell[n])
                n += 1
                self.tableWidget_2.setItem(i, j, item)

 
if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

我的stylesheet :

QTableWidget {
    selection-background-color: #ffffff;
    selection-color: #000000;
    gridline-color: #000000;
}
QHeaderView::section {
    background-color: #cccccc;
    border-style: none;
    border-bottom: 1px solid #000000;
    border-right: 1px solid #000000;
}
QTableWidget QTableCornerButton::section {
    background-color: #cccccc;
    border: 1px solid #000000;
}
QHeaderView::section:horizontal
{
    border-top: 1px solid #000000;
}
QHeaderView::section:vertical
{
    border-left: 1px solid #000000;
}
QTableWidget {
    border: 0px solid ;
}
python
  • 2 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-09 03:15:50 +0000 UTC

重置 QScrollarea 的外观

  • 1

是什么原因导致外观重置,QScrollarea进入板块styleSheet按下按钮后返回ок。
UI应用:这里。

转换后它根本不显示。

它应该是什么样子:

在此处输入图像描述

以及它的外观:

在此处输入图像描述

好吧,代码本身


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Enrollee(object):
    def setupUi(self, Enrollee):
        Enrollee.setObjectName("Enrollee")
        Enrollee.resize(450, 800)
        Enrollee.setStyleSheet("background-color: #ffffff;")
        self.WidgetsEnrollee = QtWidgets.QWidget(Enrollee)
        self.WidgetsEnrollee.setObjectName("WidgetsEnrollee")
        self.scrollArea = QtWidgets.QScrollArea(self.WidgetsEnrollee)
        self.scrollArea.setGeometry(QtCore.QRect(15, 85, 435, 705))
        self.scrollArea.setStyleSheet("QScrollArea {\n"
"    border: 0px solid ;\n"
"}\n"
"QScrollBar:horizontal {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:horizontal {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal{\n"
"    background: none;\n"
"}\n"
"\n"
"QScrollBar:vertical {\n"
"    border-radius: 10;\n"
"    border: 2px solid #3d3d3d;\n"
"    background: #595959;\n"
"}\n"
"QScrollBar::handle:vertical {\n"
"    border-radius: 8;\n"
"    background: #ffffff;\n"
"    min-width: 20px;\n"
"}\n"
"QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {\n"
"    border: none;\n"
"    background: none;\n"
"}\n"
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical{\n"
"    background: none;\n"
"}")
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.WidgetsScrollArea = QtWidgets.QWidget()
        self.WidgetsScrollArea.setGeometry(QtCore.QRect(0, 0, 414, 725))
        self.WidgetsScrollArea.setStyleSheet("")
        self.WidgetsScrollArea.setObjectName("WidgetsScrollArea")
        self.verticalLayout = QtWidgets.QVBoxLayout(self.WidgetsScrollArea)
        self.verticalLayout.setContentsMargins(0, 0, 14, 0)
        self.verticalLayout.setSpacing(0)
        self.verticalLayout.setObjectName("verticalLayout")
        self.WidgetsFrame = QtWidgets.QWidget(self.WidgetsScrollArea)
        self.WidgetsFrame.setMinimumSize(QtCore.QSize(400, 725))
        self.WidgetsFrame.setObjectName("WidgetsFrame")
        self.frame = QtWidgets.QLabel(self.WidgetsFrame)
        self.frame.setGeometry(QtCore.QRect(0, 15, 400, 705))
        self.frame.setMinimumSize(QtCore.QSize(0, 0))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.frame.setFont(font)
        self.frame.setStyleSheet("background-color: #ffffff;\n"
"border-radius: 10;\n"
"border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.frame.setText("")
        self.frame.setIndent(0)
        self.frame.setObjectName("frame")
        self.math = QtWidgets.QLabel(self.WidgetsFrame)
        self.math.setGeometry(QtCore.QRect(250, 0, 70, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.math.setFont(font)
        self.math.setStyleSheet("border-radius: 10;\n"
"border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.math.setAlignment(QtCore.Qt.AlignCenter)
        self.math.setIndent(0)
        self.math.setObjectName("math")
        self.ukrain = QtWidgets.QLabel(self.WidgetsFrame)
        self.ukrain.setGeometry(QtCore.QRect(325, 0, 70, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.ukrain.setFont(font)
        self.ukrain.setStyleSheet("border-radius: 10;\n"
"border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.ukrain.setAlignment(QtCore.Qt.AlignCenter)
        self.ukrain.setIndent(0)
        self.ukrain.setObjectName("ukrain")
        self.num = QtWidgets.QLabel(self.WidgetsFrame)
        self.num.setGeometry(QtCore.QRect(0, 45, 30, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.num.setFont(font)
        self.num.setStyleSheet("border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.num.setText("")
        self.num.setIndent(10)
        self.num.setObjectName("num")
        self.name = QtWidgets.QLabel(self.WidgetsFrame)
        self.name.setGeometry(QtCore.QRect(28, 45, 222, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.name.setFont(font)
        self.name.setStyleSheet("border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.name.setText("")
        self.name.setIndent(10)
        self.name.setObjectName("name")
        self.grade_math = QtWidgets.QLabel(self.WidgetsFrame)
        self.grade_math.setGeometry(QtCore.QRect(248, 45, 77, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.grade_math.setFont(font)
        self.grade_math.setStyleSheet("border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.grade_math.setText("")
        self.grade_math.setIndent(10)
        self.grade_math.setObjectName("grade_math")
        self.grade_ukrain = QtWidgets.QLabel(self.WidgetsFrame)
        self.grade_ukrain.setGeometry(QtCore.QRect(323, 45, 77, 30))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.grade_ukrain.setFont(font)
        self.grade_ukrain.setStyleSheet("border: 2px solid #3d3d3d;\n"
"color: #000000;")
        self.grade_ukrain.setText("")
        self.grade_ukrain.setIndent(10)
        self.grade_ukrain.setObjectName("grade_ukrain")
        self.verticalLayout.addWidget(self.WidgetsFrame)
        self.scrollArea.setWidget(self.WidgetsScrollArea)
        self.ninth_grade = QtWidgets.QPushButton(self.WidgetsEnrollee)
        self.ninth_grade.setGeometry(QtCore.QRect(45, 20, 180, 45))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.ninth_grade.setFont(font)
        self.ninth_grade.setStyleSheet("background-color: #363636;\n"
"border-radius: 22;\n"
"color: #ffffff;\n"
"")
        self.ninth_grade.setObjectName("ninth_grade")
        self.eleventh_grade = QtWidgets.QPushButton(self.WidgetsEnrollee)
        self.eleventh_grade.setGeometry(QtCore.QRect(225, 20, 180, 45))
        font = QtGui.QFont()
        font.setFamily("Montserrat")
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.eleventh_grade.setFont(font)
        self.eleventh_grade.setStyleSheet("background-color: #595959;\n"
"border-radius: 22;\n"
"color: #ffffff;")
        self.eleventh_grade.setObjectName("eleventh_grade")
        self.label = QtWidgets.QLabel(self.WidgetsEnrollee)
        self.label.setGeometry(QtCore.QRect(45, 20, 360, 45))
        self.label.setStyleSheet("background-color: #595959;\n"
"border-radius: 22;\n"
"color: #ffffff;")
        self.label.setText("")
        self.label.setObjectName("label")
        self.label.raise_()
        self.scrollArea.raise_()
        self.ninth_grade.raise_()
        self.eleventh_grade.raise_()
        Enrollee.setCentralWidget(self.WidgetsEnrollee)

        self.retranslateUi(Enrollee)
        QtCore.QMetaObject.connectSlotsByName(Enrollee)

    def retranslateUi(self, Enrollee):
        _translate = QtCore.QCoreApplication.translate
        Enrollee.setWindowTitle(_translate("Enrollee", "MainWindow"))
        self.math.setText(_translate("Enrollee", "МАТ"))
        self.ukrain.setText(_translate("Enrollee", "УКР.ЯЗ"))
        self.ninth_grade.setText(_translate("Enrollee", "9 КЛАСС"))
        self.eleventh_grade.setText(_translate("Enrollee", "11 КЛАСС"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Enrollee = QtWidgets.QMainWindow()
    ui = Ui_Enrollee()
    ui.setupUi(Enrollee)
    Enrollee.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-08 18:26:00 +0000 UTC

将对象大小绑定到窗口大小

  • 1

在此处输入图像描述

如何以相同的纵横比将对象的大小绑定到窗口的大小Qt Designer,我试图通过 来完成Layouts,但我无法将一个对象叠加在另一个对象上。

同样在代码本身中,我尝试请求当前窗口大小并根据屏幕大小与原始屏幕大小的变化来缩放对象,但是.setGeometry()无法在方法中输入实数,并且在四舍五入时混合了对象.

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
import os


class Ui_Enrollee(object):
    def setupUi(self, Enrollee):
        Enrollee.setObjectName('Enrollee')
        Enrollee.resize(450, 800)
        Enrollee.setWindowTitle(' ')
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap(os.getcwd() + '\\other\\design\\icon.png'))
        Enrollee.setWindowIcon(icon)
        Enrollee.setStyleSheet('background-color: #ffffff')
        self.WidgetsEnrollee = QtWidgets.QWidget(Enrollee)
        self.WidgetsEnrollee.setObjectName('WidgetsEnrollee')
        self.verticalScrollBar = QtWidgets.QScrollBar(self.WidgetsEnrollee)
        self.verticalScrollBar.setGeometry(QtCore.QRect(430, 95, 20, 690))
        self.verticalScrollBar.setStyleSheet('QScrollBar:vertical {\n'
'    border-radius: 10;\n'
'    border: 2px solid #3d3d3d;\n'
'    background: #595959;\n'
'}\n'
'QScrollBar::handle:vertical {\n'
'    border-radius: 8;\n'
'    background: #ffffff;\n'
'    min-width: 20px;\n'
'}\n'
'QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {\n'
'    border: none;\n'
'    background: none;\n'
'}\n'
'QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical{\n'
'    background: none;\n'
'}')
        self.verticalScrollBar.setOrientation(QtCore.Qt.Vertical)
        self.verticalScrollBar.setObjectName('verticalScrollBar')
        self.label = QtWidgets.QLabel(self.WidgetsEnrollee)
        self.label.setGeometry(QtCore.QRect(45, 20, 360, 45))
        self.label.setStyleSheet('background-color: #595959;\n'
'border-radius: 22;\n'
'color: #ffffff;')
        self.label.setText('')
        self.label.setObjectName('label')
        self.ninth_grade = QtWidgets.QPushButton(self.WidgetsEnrollee)
        self.ninth_grade.setGeometry(QtCore.QRect(45, 20, 180, 45))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.ninth_grade.setFont(font)
        self.ninth_grade.setStyleSheet('background-color: #363636;\n'
'border-radius: 22;\n'
'color: #ffffff;\n'
'')
        self.ninth_grade.setObjectName('ninth_grade')
        self.eleventh_grade = QtWidgets.QPushButton(self.WidgetsEnrollee)
        self.eleventh_grade.setGeometry(QtCore.QRect(225, 20, 180, 45))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.eleventh_grade.setFont(font)
        self.eleventh_grade.setStyleSheet('background-color: #595959;\n'
'border-radius: 22;\n'
'color: #ffffff;')
        self.eleventh_grade.setObjectName('eleventh_grade')
        n = 1
        
        self.frame = QtWidgets.QLabel(self.WidgetsEnrollee)
        if 125 + 28 * (n - 1) > 745:
            self.frame.setGeometry(QtCore.QRect(15, 95, 400, 125 + 28 * (n - 1) - 35))
        else:
            self.frame.setGeometry(QtCore.QRect(15, 95, 400, 690))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.frame.setFont(font)
        self.frame.setStyleSheet('border-radius: 10;\n'
'border: 2px solid #3d3d3d;\n'
'color: #000000;')
        self.frame.setText('')
        self.frame.setIndent(10)
        self.frame.setObjectName('frame')
        self.math = QtWidgets.QLabel(self.WidgetsEnrollee)
        self.math.setGeometry(QtCore.QRect(265, 85, 70, 30))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.math.setFont(font)
        self.math.setStyleSheet('border-radius: 10;\n'
'border: 2px solid #3d3d3d;\n'
'color: #000000;')
        self.math.setAlignment(QtCore.Qt.AlignCenter)
        self.math.setIndent(0)
        self.math.setObjectName('math')
        self.ukrain = QtWidgets.QLabel(self.WidgetsEnrollee)
        self.ukrain.setGeometry(QtCore.QRect(340, 85, 70, 30))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(9)
        font.setBold(True)
        font.setWeight(75)
        self.ukrain.setFont(font)
        self.ukrain.setStyleSheet('border-radius: 10;\n'
'border: 2px solid #3d3d3d;\n'
'color: #000000;')
        self.ukrain.setAlignment(QtCore.Qt.AlignCenter)
        self.ukrain.setIndent(0)
        self.ukrain.setObjectName('ukrain')
        
        for i in range(n):
            self.name = QtWidgets.QLabel(self.WidgetsEnrollee)
            self.name.setGeometry(QtCore.QRect(43, 125 + 28 * i, 222, 30))
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(9)
            font.setBold(True)
            font.setWeight(75)
            self.name.setFont(font)
            self.name.setStyleSheet('border: 2px solid #3d3d3d;\n'
    'color: #000000;')
            self.name.setText('')
            self.name.setIndent(10)
            self.name.setObjectName('name')
            self.grade_math = QtWidgets.QLabel(self.WidgetsEnrollee)
            self.grade_math.setGeometry(QtCore.QRect(263, 125 + 28 * i, 77, 30))
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(9)
            font.setBold(True)
            font.setWeight(75)
            self.grade_math.setFont(font)
            self.grade_math.setStyleSheet('border: 2px solid #3d3d3d;\n'
    'color: #000000;')
            self.grade_math.setText('')
            self.grade_math.setIndent(10)
            self.grade_math.setObjectName('grade_math')
            self.grade_ukrain = QtWidgets.QLabel(self.WidgetsEnrollee)
            self.grade_ukrain.setGeometry(QtCore.QRect(338, 125 + 28 * i, 77, 30))
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(9)
            font.setBold(True)
            font.setWeight(75)
            self.grade_ukrain.setFont(font)
            self.grade_ukrain.setStyleSheet('border: 2px solid #3d3d3d;\n'
    'color: #000000;')
            self.grade_ukrain.setText('')
            self.grade_ukrain.setIndent(10)
            self.grade_ukrain.setObjectName('grade_ukrain')
            self.num = QtWidgets.QLabel(self.WidgetsEnrollee)
            self.num.setGeometry(QtCore.QRect(15, 125 + 28 * i, 30, 30))
            font = QtGui.QFont()
            font.setFamily('Montserrat')
            font.setPointSize(9)
            font.setBold(True)
            font.setWeight(75)
            self.num.setFont(font)
            self.num.setStyleSheet('border: 2px solid #3d3d3d;\n'
    'color: #000000;')
            self.num.setText('')
            self.num.setIndent(10)
            self.num.setObjectName('num')
        Enrollee.setCentralWidget(self.WidgetsEnrollee)

        self.retranslateUi(Enrollee)
        QtCore.QMetaObject.connectSlotsByName(Enrollee)

    def retranslateUi(self, Enrollee):
        _translate = QtCore.QCoreApplication.translate
        self.ninth_grade.setText(_translate('Enrollee', 'button 1'))
        self.eleventh_grade.setText(_translate('Enrollee', 'button 2'))
        self.math.setText(_translate('Enrollee', 'TEXT 1'))
        self.ukrain.setText(_translate('Enrollee', 'TEXT 2'))


class MainWindow(QtWidgets.QMainWindow, Ui_Enrollee):
    def __init__(self):
        super().__init__()
        self.setupUi(self)

        self.bnts = QButtonGroup()
        self.bnts.setExclusive(True)
        self.bnts.addButton(self.eleventh_grade)
        self.bnts.addButton(self.ninth_grade)
        self.bnts.buttonClicked.connect(self.color_change)
        self.color_change(self.ninth_grade)

    def color_change(self, but):
        but.setStyleSheet('background-color: #363636;\nborder-radius: 22;\ncolor: #ffffff;\n')
        if but == self.eleventh_grade:
            self.ninth_grade.setStyleSheet('background-color: #595959;\nborder-radius: 22;\ncolor: #ffffff;\n')
        else:
            self.eleventh_grade.setStyleSheet('background-color: #595959;\nborder-radius: 22;\ncolor: #ffffff;\n')

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

应用程序的 UI 模型可以在这里查看:ui 模型

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-05 18:13:24 +0000 UTC

在 Qt Designer 中指定多色 QLabel 文本

  • 1

我想为QLabel文本的每个单词设置一种颜色。

我在解释器中看到了这个问题的解决方案:

from PyQt5 import Qt
 
app = Qt.QApplication([])
 
label = Qt.QLabel()

txt = '''<font color="red">Это</font><br>
<font color="green">Цветной</font><br>
<font color="blue">Текст</font><br>'''

label.setText(txt)
label.setFont(Qt.QFont("sefif",32))

label.resize(400,300)
label.show()
app.exec_()

但是我怎么能直接在Qt Designer中做到这一点呢?

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-06-02 23:55:40 +0000 UTC

根据 QComboBox 中的项目选择和单击按钮更改 QLabel 的值

  • 0

我希望当我们comboBox选择时ТЕКСТ 1,窗口会显示ТЕКСТ 1 1,
按下按钮2文本将变为ТЕКСТ 1 2,
按下按钮1文本将变为ТЕКСТ 1 1。

当我们comboBox选择inТЕКСТ 2时,窗口会显示ТЕКСТ 2 3,
按一下按钮4文字会变成ТЕКСТ 2 4,
按一下按钮3文字会变成ТЕКСТ 2 3

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Window1(object):
    def setupUi(self, Window1):
        Window1.resize(800, 450)
        self.Main1 = QtWidgets.QWidget(Window1)
  
        self.comboBox = QtWidgets.QComboBox(self.Main1)
        self.comboBox.setGeometry(QtCore.QRect(693, 0, 91, 22))
        self.comboBox.addItem('ТЕКСТ 1')
        self.comboBox.addItem('ТЕКСТ 2')

        self.comboBox.activated[str].connect(self.change_science)

        self.item = {'ТЕКСТ 1' : self.item_one(), 'ТЕКСТ 2' : self.item_two()}
        self.science_now = str(self.comboBox.currentText())
        self.change_science(self.science_now)

        Window1.setCentralWidget(self.Main1)
        QtCore.QMetaObject.connectSlotsByName(Window1)


    def change_science(self, text):
        for i in self.item.get(self.science_now):
            i.setHidden(True)
        for i in self.item.get(text):
            i.setHidden(False)

        self.science_now = text

    def item_one(self):
        self.label = QtWidgets.QLabel(self.Main1)
        self.label.setGeometry(QtCore.QRect(50, 50, 170, 22))
        self.label.setText('ТЕКСТ 1 1')

        self.pushButton_1 = QtWidgets.QPushButton(self.Main1)
        self.pushButton_1.setGeometry(QtCore.QRect(0, 422, 93, 28))
        self.pushButton_1.setText('1')
        self.label.setHidden(True)

        self.pushButton_2 = QtWidgets.QPushButton(self.Main1)
        self.pushButton_2.setGeometry(QtCore.QRect(93, 422, 93, 28))
        self.pushButton_2.setText('2')
        self.label.setHidden(True)

        return [self.label, self.pushButton_1, self.pushButton_2]

    def item_two(self):
        self.label = QtWidgets.QLabel(self.Main1)
        self.label.setGeometry(QtCore.QRect(50, 50, 170, 22))
        self.label.setText('ТЕКСТ 2 3')
        self.label.setHidden(True)

        self.pushButton_1 = QtWidgets.QPushButton(self.Main1)
        self.pushButton_1.setGeometry(QtCore.QRect(0, 422, 93, 28))
        self.pushButton_1.setText('3')
        self.pushButton_1.setHidden(True)

        self.pushButton_2 = QtWidgets.QPushButton(self.Main1)
        self.pushButton_2.setGeometry(QtCore.QRect(93, 422, 93, 28))
        self.pushButton_2.setText('4')
        self.pushButton_2.setHidden(True)

        return [self.label, self.pushButton_1, self.pushButton_2]

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = QtWidgets.QMainWindow()
    ui = Ui_Window1()
    ui.setupUi(Window1)
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-05-31 20:24:06 +0000 UTC

在文本文件中写入和读取列表

  • 1

我想将列表 ['TEXT', 'TEXT 1\nTEXT 2', ['text 3', 'text 4']] 写入文本文件,并在读取文本文件时获取相同的列表

mas = ['ТЕКСТ', 'ТЕКСТ 1\nТЕКСТ 2', ['текст 3', 'текст 4']]

with open('C:\\Code\\ST3\\e minor code\\profile.txt', 'w') as f:     
    text = ''
    for i in range(len(mas)):
        if i == 0 or i == 1:
            text += '\n' + mas[i] + '\n'
        else:
            text += '\n' + '\n'.join(mas[i]) + '\n\n'

    f.write(text)

with open('C:\\Code\\ST3\\e minor code\\profile.txt', 'r') as f:
    mas_in = [line.strip() for line in f.readlines()]
    mas_out = []
    mas_end = [i for i in range(len(mas_in)) if mas_in[i] == '' or i == 0 or i + 1 == len(mas_in)]
    
    for i in range(len(mas_end) - 1):
        mas = [mas_in[j] for j in range(mas_end[i] + 1, mas_end[i + 1])]
        if i == 0:
            mas_out.append(mas[0])
        elif i == 1:
            mas_out.append('\n'.join(mas))
        else:
            mas_out.append(mas)

    mas_in = mas_out

有没有更合理的方法来解决这个问题?

python
  • 2 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-05-31 03:43:06 +0000 UTC

将按下的按钮的名称存储在变量中

  • 1

我想在按下按钮后跟踪按下了哪个按钮。
将此值保存在变量中,并将变量的值输出到方法click()。

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *

class Ui_Window1(object):
    def setupUi(self, Window1):
        Window1.setObjectName('Window1')
        Window1.resize(450, 800)
        self.Main1 = QtWidgets.QWidget(Window1)
        self.Main1.setObjectName('Main1')

        self.font1 = self.create_style('Bahnschrift SemiBold', 9, True)

        self.button_1 = self.create_widget(30, 235, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 1')
        self.button_2 = self.create_widget(30, 325, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 2')
        self.button_3 = self.create_widget(30, 415, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 3')
        self.button_4 = self.create_widget(30, 505, 390, 60, self.font1, '#4c5359', '#363940', '#ffffff', '2', '30', 'button 4')
        
        self.button_1.clicked.connect(self.click)
        self.button_2.clicked.connect(self.click)
        self.button_3.clicked.connect(self.click)
        self.button_4.clicked.connect(self.click)

        self.check = QButtonGroup()
        self.check.setExclusive(True)
        self.check.addButton(self.button_1)
        self.check.addButton(self.button_2)
        self.check.addButton(self.button_3)
        self.check.addButton(self.button_4)

        self.check.buttonClicked.connect(self.press)

        Window1.setCentralWidget(self.Main1)
        QtCore.QMetaObject.connectSlotsByName(Window1)

    def press(self, but):
        if but == self.button_1:
            self.but_check = 'button_1'
        elif but == self.button_2:
            self.but_check = 'button_2'
        elif but == self.button_3:
            self.but_check = 'button_3'
        elif but == self.button_4:
            self.but_check = 'button_4'

        return self.but_check

    def click(self):
        print(self.but_check)

    def create_style(self, text, size, boole):
        self.name = QtGui.QFont()
        self.name.setFamily(text)
        self.name.setPointSize(size)
        self.name.setBold(boole)

        return self.name

    def create_widget(self, x, y, w, h, font, HEX1, HEX2, HEX3, d, r, text):
        self.name = QtWidgets.QPushButton(self.Main1)
        self.name.setGeometry(QtCore.QRect(x, y, w, h))
        self.name.setFont(font)
        self.name.setStyleSheet('background-color: ' + HEX1 + '; border :' + d + 'px solid' + HEX2 + '; border-radius :' + r + '; color: ' + HEX3)
        self.name.setText(text)
        self.name.show()

        return self.name

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = QtWidgets.QMainWindow()
    ui = Ui_Window1()
    ui.setupUi(Window1)
    Window1.show()
    sys.exit(app.exec_())

python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-04-13 00:29:29 +0000 UTC

单击按钮后向屏幕添加框架

  • 1

单击按钮后如何在屏幕上添加框架?

从这里到

在此处输入图像描述

点击按钮后得到这个

在此处输入图像描述

from PyQt5 import QtCore, QtGui, QtWidgets

font = QtGui.QFont()
font.setFamily('Montserrat')
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)

class Ui_Window3(object):
    def setupUi(self, Window3):
        Window3.setObjectName('Window3')
        Window3.resize(450, 336)
        Window3.setWindowTitle(' ')
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Window3.setWindowIcon(icon)
        Window3.setStyleSheet('background-color: #fefff7')
        self.Main3 = QtWidgets.QWidget(Window3)
        self.Main3.setObjectName('Main3')

        self.but_5 = QtWidgets.QPushButton(self.Main3)
        self.but_5.setGeometry(QtCore.QRect(0, 276, 450, 60))
        self.but_5.setFont(font)
        self.but_5.setStyleSheet('QPushButton {color: #000000; background-color: #c7dcd0; border-radius: 0;} QPushButton: pressed {background-color: #9babb2;}')
        self.but_5.setObjectName('but_5')

        Window3.setCentralWidget(self.Main3)

        self.retranslateUi(Window3)
        QtCore.QMetaObject.connectSlotsByName(Window3)

        self.but_5.clicked.connect(self.results)

    def retranslateUi(self, Window3):
        _translate = QtCore.QCoreApplication.translate
        self.but_5.setText(_translate('Window3', 'КНОПКА'))

    def results(self):
        #рамка которую нужно добавить на экран после нажатие на кнопку
        self.text_3 = QtWidgets.QLabel(self.Main3)
        self.text_3.setGeometry(QtCore.QRect(0, 138, 450, 60))
        self.text_3.setFont(font)
        self.text_3.setStyleSheet('background-color: #c7dcd0; border:2px solid#9babb2; color:#000000')
        self.text_3.setText('РАМКА')
        self.text_3.setAlignment(QtCore.Qt.AlignCenter)
        self.text_3.setObjectName('text_3')

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window3 = QtWidgets.QMainWindow()
    ui = Ui_Window3()
    ui.setupUi(Window3)
    Window3.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views
Martin Hope
aqua
Asked: 2022-04-10 02:15:37 +0000 UTC

如何正确执行,以便在单击按钮时更改窗口

  • 1

我怎样才能做到这一点,以便在WINDOW1中按下“继续”按钮后,我转到WINDOW2。

当您在WINDOW2 中按“返回”键时,我转到WINDOW1,当您在WINDOW2 中按“继续”键时,我转到WINDOW3。

当我在WINDOW3中按下'返回'键时,我去了WINDOW2

ОКНО1

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Window1(object):
    def setupUi(self, Window1):
        Window1.setObjectName('Window1')
        Window1.resize(450, 800)
        Window1.setWindowTitle(' ')
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Window1.setWindowIcon(icon)
        Window1.setStyleSheet('background-color: #2c2c39')
        self.Main1 = QtWidgets.QWidget(Window1)
        self.Main1.setObjectName('Main1')
        
        self.text_1 = QtWidgets.QLabel(self.Main1)
        self.text_1.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_1.setFont(font)
        self.text_1.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.text_1.setScaledContents(False)
        self.text_1.setAlignment(QtCore.Qt.AlignCenter)
        self.text_1.setWordWrap(False)
        self.text_1.setOpenExternalLinks(False)
        self.text_1.setObjectName('text_1')

        self.input_amount_1 = QtWidgets.QLineEdit(self.Main1)
        self.input_amount_1.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_1.setFont(font)
        self.input_amount_1.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.input_amount_1.setAlignment(QtCore.Qt.AlignCenter)
        self.input_amount_1.setObjectName('input_amount_1')

        self.but_1 = QtWidgets.QPushButton(self.Main1)
        self.but_1.setGeometry(QtCore.QRect(0, 740, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_1.setFont(font)
        self.but_1.setStyleSheet('QPushButton {\n'
'    color: #ffffff;\n'
'    background-color: #7f6a62;\n'
'    border-radius: 0;\n'
'}\n'
'\n'
'')
        self.but_1.setObjectName('but_1')

        Window1.setCentralWidget(self.Main1)


        self.retranslateUi(Window1)
        QtCore.QMetaObject.connectSlotsByName(Window1)
        
        #ПРОДОЛЖИТЬ
        self.but_1.clicked.connect(self.proceed_1)

    def retranslateUi(self, Window1):
        _translate = QtCore.QCoreApplication.translate
        self.but_1.setText(_translate('Window1', 'ПРОДОЛЖИТЬ'))
        self.text_1.setText(_translate('Window1', 'ОКНО 1'))
   
    #ПРОДОЛЖИТЬ
    def proceed_1(self):
        pass


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = QtWidgets.QMainWindow()
    ui = Ui_Window1()
    ui.setupUi(Window1)
    Window1.show()
    #QtCore.QTimer.singleShot(0, Window1.close)
    sys.exit(app.exec_())

ОКНО2

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Window2(object):
    def setupUi(self, Window2):
        Window2.setObjectName('Window2')
        Window2.resize(450, 800)
        Window2.setWindowTitle(' ')
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Window2.setWindowIcon(icon)
        Window2.setStyleSheet('background-color: #2c2c39')
        self.Main2 = QtWidgets.QWidget(Window2)
        self.Main2.setObjectName('Main2')

        self.text_2 = QtWidgets.QLabel(self.Main2)
        self.text_2.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_2.setFont(font)
        self.text_2.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.text_2.setScaledContents(False)
        self.text_2.setAlignment(QtCore.Qt.AlignCenter)
        self.text_2.setWordWrap(False)
        self.text_2.setOpenExternalLinks(False)
        self.text_2.setObjectName('text_2')

        self.input_amount_2 = QtWidgets.QLineEdit(self.Main2)
        self.input_amount_2.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_2.setFont(font)
        self.input_amount_2.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.input_amount_2.setAlignment(QtCore.Qt.AlignCenter)
        self.input_amount_2.setObjectName('input_amount_2')

        self.but_2 = QtWidgets.QPushButton(self.Main2)
        self.but_2.setGeometry(QtCore.QRect(0, 740, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        self.but_2.setFont(font)
        self.but_2.setStyleSheet('QPushButton {\n'
'    color: #ffffff;\n'
'    background-color: #7f6a62;\n'
'    border-radius: 0;\n'
'}\n'
'\n'
'')
        self.but_2.setObjectName('but_2')

        self.but_3 = QtWidgets.QPushButton(self.Main2)
        self.but_3.setGeometry(QtCore.QRect(225, 740, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_3.setFont(font)
        self.but_3.setStyleSheet('QPushButton {\n'
'    color: #ffffff;\n'
'    background-color: #7f6a62;\n'
'    border-radius: 0;\n'
'}\n'
'\n'
'')
        self.but_3.setObjectName('but_3')

        
        Window2.setCentralWidget(self.Main2)

        self.retranslateUi(Window2)
        QtCore.QMetaObject.connectSlotsByName(Window2)

        #ВЕРНУТЬСЯ
        self.but_2.clicked.connect(self.return_1)

        #ПРОДОЛЖИТЬ
        self.but_3.clicked.connect(self.proceed_2)

    def retranslateUi(self, Window2):
        _translate = QtCore.QCoreApplication.translate
        self.but_2.setText(_translate('Window2', 'ВЕРНУТЬСЯ'))
        self.text_2.setText(_translate('Window2', 'ОКНО 2'))
        self.but_3.setText(_translate('Window2', 'ПРОДОЛЖИТЬ'))

    #ВЕРНУТЬСЯ
    def return_1(self):
        pass

    #ПРОДОЛЖИТЬ
    def proceed_2(self):
        pass


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window2 = QtWidgets.QMainWindow()
    ui = Ui_Window2()
    ui.setupUi(Window2)
    Window2.show()
    sys.exit(app.exec_())

ОКНО3

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Window3(object):
    def setupUi(self, Window3):
        Window3.setObjectName('Window3')
        Window3.resize(450, 800)
        Window3.setWindowTitle(' ')
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        Window3.setWindowIcon(icon)
        Window3.setStyleSheet('background-color: #2c2c39')
        self.Main3 = QtWidgets.QWidget(Window3)
        self.Main3.setObjectName('Main3')
        
        self.text_3 = QtWidgets.QLabel(self.Main3)
        self.text_3.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_3.setFont(font)
        self.text_3.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.text_3.setScaledContents(False)
        self.text_3.setAlignment(QtCore.Qt.AlignCenter)
        self.text_3.setWordWrap(False)
        self.text_3.setOpenExternalLinks(False)
        self.text_3.setObjectName('text_3')

        self.input_amount_3 = QtWidgets.QLineEdit(self.Main3)
        self.input_amount_3.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_3.setFont(font)
        self.input_amount_3.setStyleSheet('background-color: #edf3c8;\n'
'border:2px solid#d9c7b4;\n'
'color:#000000')
        self.input_amount_3.setAlignment(QtCore.Qt.AlignCenter)
        self.input_amount_3.setObjectName('input_amount_3')

        self.but_4 = QtWidgets.QPushButton(self.Main3)
        self.but_4.setGeometry(QtCore.QRect(0, 740, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_4.setFont(font)
        self.but_4.setStyleSheet('QPushButton {\n'
'    color: #ffffff;\n'
'    background-color: #7f6a62;\n'
'    border-radius: 0;\n'
'}\n'
'\n'
'')
        self.but_4.setObjectName('but_4')

        Window3.setCentralWidget(self.Main3)

        self.retranslateUi(Window3)
        QtCore.QMetaObject.connectSlotsByName(Window3)

        #ВЕРНУТЬСЯ
        self.but_4.clicked.connect(self.return_2)

    def retranslateUi(self, Window3):
        _translate = QtCore.QCoreApplication.translate
        self.but_4.setText(_translate('Window3', 'ВЕРНУТЬСЯ'))
        self.text_3.setText(_translate('Window3', 'ОКНО 3'))

    #ВЕРНУТЬСЯ
    def return_2(self):
        pass


if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window3 = QtWidgets.QMainWindow()
    ui = Ui_Window3()
    ui.setupUi(Window3)
    Window3.show()
    sys.exit(app.exec_())
python
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5