-3

I'm creating a screen with StackWidget consist of 3 pages. The problem is that only one page of the stackwidget pages showing all widgets inside it but the other pages cutting three element in the corners, see the photos

the error page:
the error page

correct page and i want the other pages show all widgets in the four corners :
correct page and i want the other pages show all widgets in the four corners

    from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1200, 679)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(30, 100, 93, 28))
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(30, 220, 93, 28))
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(30, 330, 93, 28))
        self.pushButton_3.setObjectName("pushButton_3")
        self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget)
        self.stackedWidget.setGeometry(QtCore.QRect(170, 0, 1011, 631))
        self.stackedWidget.setObjectName("stackedWidget")
        self.page_3 = QtWidgets.QWidget()
        self.page_3.setObjectName("page_3")
        self.pushButton_4 = QtWidgets.QPushButton(self.page_3)
        self.pushButton_4.setGeometry(QtCore.QRect(10, 10, 93, 28))
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(self.page_3)
        self.pushButton_5.setGeometry(QtCore.QRect(880, 20, 93, 28))
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_6 = QtWidgets.QPushButton(self.page_3)
        self.pushButton_6.setGeometry(QtCore.QRect(10, 580, 93, 28))
        self.pushButton_6.setObjectName("pushButton_6")
        self.pushButton_7 = QtWidgets.QPushButton(self.page_3)
        self.pushButton_7.setGeometry(QtCore.QRect(890, 590, 93, 28))
        self.pushButton_7.setObjectName("pushButton_7")
        self.stackedWidget.addWidget(self.page_3)
        self.page_4 = QtWidgets.QWidget()
        self.page_4.setObjectName("page_4")
        self.lineEdit = QtWidgets.QLineEdit(self.page_4)
        self.lineEdit.setGeometry(QtCore.QRect(10, 30, 113, 22))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.page_4)
        self.lineEdit_2.setGeometry(QtCore.QRect(870, 580, 113, 22))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.page_4)
        self.lineEdit_3.setGeometry(QtCore.QRect(30, 570, 113, 22))
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_4 = QtWidgets.QLineEdit(self.page_4)
        self.lineEdit_4.setGeometry(QtCore.QRect(860, 30, 113, 22))
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.stackedWidget.addWidget(self.page_4)
        self.page_5 = QtWidgets.QWidget()
        self.page_5.setObjectName("page_5")
        self.calendarWidget = QtWidgets.QCalendarWidget(self.page_5)
        self.calendarWidget.setGeometry(QtCore.QRect(10, 10, 392, 236))
        self.calendarWidget.setObjectName("calendarWidget")
        self.calendarWidget_2 = QtWidgets.QCalendarWidget(self.page_5)
        self.calendarWidget_2.setGeometry(QtCore.QRect(600, 20, 392, 236))
        self.calendarWidget_2.setObjectName("calendarWidget_2")
        self.calendarWidget_3 = QtWidgets.QCalendarWidget(self.page_5)
        self.calendarWidget_3.setGeometry(QtCore.QRect(610, 380, 392, 236))
        self.calendarWidget_3.setObjectName("calendarWidget_3")
        self.calendarWidget_4 = QtWidgets.QCalendarWidget(self.page_5)
        self.calendarWidget_4.setGeometry(QtCore.QRect(10, 380, 392, 236))
        self.calendarWidget_4.setObjectName("calendarWidget_4")
        self.stackedWidget.addWidget(self.page_5)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1200, 26))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.stackedWidget.setCurrentIndex(2)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.pushButton.setText(_translate("MainWindow", "1"))
        self.pushButton_2.setText(_translate("MainWindow", "2"))
        self.pushButton_3.setText(_translate("MainWindow", "3"))
        self.pushButton_4.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_6.setText(_translate("MainWindow", "PushButton"))
        self.pushButton_7.setText(_translate("MainWindow", "PushButton"))

Blockquote

import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction ,QFileDialog
from stackwidgettest import *
class MyForm(QMainWindow):
    def __init__(self):
        super().__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        
        self.ui.pushButton.clicked.connect(self.moveforward)  
        self.ui.pushButton_2.clicked.connect(self.moveback)
        self.ui.pushButton_3.clicked.connect(self.movebacks)
        
        
    def moveforward(self):
        self.ui.page_3.show()
        self.ui.page_4.hide()
        self.ui.page_5.hide()
        
    def moveback(self):
        self.ui.page_3.hide()
        self.ui.page_4.show()
        self.ui.page_5.hide()
    def movebacks(self):
        self.ui.page_3.hide()
        self.ui.page_4.hide()
        self.ui.page_5.show()

if __name__=="__main__":    
    app = QApplication(sys.argv)
    w = MyForm()
    w.show()
    sys.exit(app.exec_())
Mohammad
  • 1
  • 2
  • 1
    If you don't provide us a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) (in your case, the ui file or the pyuic generated script) it is impossible for us to help you. Also, are you using [layout managers](https://doc.qt.io/qt-5/designer-layouts.html)? – musicamante Dec 20 '20 at 17:04
  • I add the user interface code and for the layouts i try with and without layout and the same problem still – Mohammad Dec 20 '20 at 17:23
  • In your code you're using objects that don't exist in the ui: there is no trace of `page_3`, `page_4` and `page_5`. Please ensure that you're using (and providing us) the correct files. Also, if you want to switch between paged containers such as QStackedWidget or QTabWidget, you must use `setCurrentIndex()` or `setCurrentWidget()`. – musicamante Dec 20 '20 at 17:49
  • i corrected the code now , i'm so sorry i was testing multiple codes – Mohammad Dec 20 '20 at 17:54
  • Thank you so much now it's work with setCurrentIndex() – Mohammad Dec 20 '20 at 18:00

1 Answers1

0

The problem solved by setCurrentIndex() method for the stackwidget

Mohammad
  • 1
  • 2