Объединение второго и третьего виджетов в один
This commit is contained in:
parent
33edfe999f
commit
ca29c3ff95
@ -16,51 +16,62 @@ class Widget1(QWidget):
|
|||||||
class Widget2(QWidget):
|
class Widget2(QWidget):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent=parent)
|
QWidget.__init__(self, parent=parent)
|
||||||
layout = QHBoxLayout(self)
|
|
||||||
|
|
||||||
# Кнопки функций
|
# Традиционная семья Лаяутов, где главный -- папа
|
||||||
|
layout = QVBoxLayout(self) # папа-лаяут
|
||||||
|
layout_funct = QHBoxLayout(self) # мама-лаяут
|
||||||
|
layout_variab = QHBoxLayout(self) # сестра-лаяут
|
||||||
|
|
||||||
|
# Дети-лаяуты
|
||||||
|
layout_dop1 = QVBoxLayout(self) # умный детина
|
||||||
|
layout_dop2 = QVBoxLayout(self) # так и сяк
|
||||||
|
layout_dop3 = QVBoxLayout(self) # вовсе дурак
|
||||||
|
|
||||||
|
|
||||||
|
Namelabel_variab = QLabel('Переменные', self) # заголовок перед кнопками
|
||||||
|
layout.addWidget(Namelabel_variab) # Вложение в главный лаяут
|
||||||
|
|
||||||
|
# Кнопки для выбора переменных
|
||||||
VariabelsButton_t = QPushButton('t', self)
|
VariabelsButton_t = QPushButton('t', self)
|
||||||
#VariabelsButton_t.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(VariabelsButton_t)
|
|
||||||
|
|
||||||
VariabelsButton_p = QPushButton('p', self)
|
VariabelsButton_p = QPushButton('p', self)
|
||||||
# VariabelsButton_p.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(VariabelsButton_p)
|
|
||||||
|
|
||||||
VariabelsButton_f = QPushButton('f', self)
|
VariabelsButton_f = QPushButton('f', self)
|
||||||
# VariabelsButton_f.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(VariabelsButton_f)
|
|
||||||
|
|
||||||
|
# Подключение кнопок
|
||||||
|
layout_variab.addWidget(VariabelsButton_t)
|
||||||
|
layout_variab.addWidget(VariabelsButton_p)
|
||||||
|
layout_variab.addWidget(VariabelsButton_f)
|
||||||
|
|
||||||
class Widget3(QWidget):
|
layout.addLayout(layout_variab) # Вложение в главный лаяут
|
||||||
def __init__(self, parent=None):
|
# Создание текстового заголовка
|
||||||
QWidget.__init__(self, parent=parent)
|
Namelabel_funct = QLabel('Тривиальные функции', self)
|
||||||
layout = QHBoxLayout(self)
|
layout.addWidget(Namelabel_funct) # Вложение в главный лаяут
|
||||||
|
|
||||||
# Кнопки функций
|
# Создание кнопок
|
||||||
FunctonButton_exp = QPushButton('exp', self)
|
FunctonButton_exp = QPushButton('exp', self)
|
||||||
#FunctonButton_exp.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(FunctonButton_exp)
|
|
||||||
|
|
||||||
FunctonButton_ln = QPushButton('ln', self)
|
FunctonButton_ln = QPushButton('ln', self)
|
||||||
#FunctonButton_ln.clicked.connect(self.on_click)
|
# Вложение кнопок по две в вертикальную коробку(лаяут)
|
||||||
layout.addWidget(FunctonButton_ln)
|
layout_dop1.addWidget(FunctonButton_exp)
|
||||||
|
layout_dop1.addWidget(FunctonButton_ln)
|
||||||
|
# Создание кнопок
|
||||||
FunctonButton_abs = QPushButton('abs', self)
|
FunctonButton_abs = QPushButton('abs', self)
|
||||||
#FunctonButton_abs.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(FunctonButton_abs)
|
|
||||||
|
|
||||||
FunctonButton_sin = QPushButton('sin', self)
|
FunctonButton_sin = QPushButton('sin', self)
|
||||||
#FunctonButton_sin.clicked.connect(self.on_click)
|
# Дети-лаяуты хранят по две кнопки, так красивее
|
||||||
layout.addWidget(FunctonButton_sin)
|
layout_dop2.addWidget(FunctonButton_abs)
|
||||||
|
layout_dop2.addWidget(FunctonButton_sin)
|
||||||
|
# Создание кнопок
|
||||||
FunctonButton_cos = QPushButton('cos', self)
|
FunctonButton_cos = QPushButton('cos', self)
|
||||||
#FunctonButton_cos.clicked.connect(self.on_click)
|
|
||||||
layout.addWidget(FunctonButton_cos)
|
|
||||||
|
|
||||||
FunctonButton_tg = QPushButton('tg', self)
|
FunctonButton_tg = QPushButton('tg', self)
|
||||||
#FunctonButton_tg.clicked.connect(self.on_click)
|
# Вложение кнопок
|
||||||
layout.addWidget(FunctonButton_tg)
|
layout_dop3.addWidget(FunctonButton_cos)
|
||||||
|
layout_dop3.addWidget(FunctonButton_tg)
|
||||||
|
|
||||||
|
# Вложение вертикальных лаяутов в горизонтальный
|
||||||
|
layout_funct.addLayout(layout_dop1)
|
||||||
|
layout_funct.addLayout(layout_dop2)
|
||||||
|
layout_funct.addLayout(layout_dop3)
|
||||||
|
|
||||||
|
layout.addLayout(layout_funct) # Вложение в главный лаяут
|
||||||
|
|
||||||
class stackedExample(QWidget):
|
class stackedExample(QWidget):
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QWidget.__init__(self, parent=parent)
|
QWidget.__init__(self, parent=parent)
|
||||||
@ -68,7 +79,6 @@ class stackedExample(QWidget):
|
|||||||
self.Stack = QStackedWidget()
|
self.Stack = QStackedWidget()
|
||||||
self.Stack.addWidget(Widget1())
|
self.Stack.addWidget(Widget1())
|
||||||
self.Stack.addWidget(Widget2())
|
self.Stack.addWidget(Widget2())
|
||||||
self.Stack.addWidget(Widget3())
|
|
||||||
|
|
||||||
btnNext = QPushButton("Next")
|
btnNext = QPushButton("Next")
|
||||||
btnNext.clicked.connect(self.onNext)
|
btnNext.clicked.connect(self.onNext)
|
||||||
@ -82,10 +92,10 @@ class stackedExample(QWidget):
|
|||||||
lay.addLayout(btnLayout)
|
lay.addLayout(btnLayout)
|
||||||
|
|
||||||
def onNext(self):
|
def onNext(self):
|
||||||
self.Stack.setCurrentIndex((self.Stack.currentIndex()+1) % 3)
|
self.Stack.setCurrentIndex((self.Stack.currentIndex()+1) % 2)
|
||||||
|
|
||||||
def onPrevious(self):
|
def onPrevious(self):
|
||||||
self.Stack.setCurrentIndex((self.Stack.currentIndex()-1) % 3)
|
self.Stack.setCurrentIndex((self.Stack.currentIndex()-1) % 2)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
@ -93,4 +103,4 @@ if __name__ == '__main__':
|
|||||||
app = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
w = stackedExample()
|
w = stackedExample()
|
||||||
w.show()
|
w.show()
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user