class MainWidget(QWidget):
    def __init__(self, parent=None):
        super(MainWidget, self).__init__(parent)
        # self.resize(1000, 800)
        # self.splitter = QSplitter(Qt.Horizontal, self)
        # self.splitter.addWidget(QTextEdit(self.splitter))
        self._setup_ui()

    def _setup_ui(self):
        self.resize(1000, 800)
        self.splitter = QSplitter(Qt.Horizontal, self)
        self.splitter.resize(1000, 800)
        self.splitter.addWidget(QWidget(self.splitter))
Esempio n. 2
0
	def initUI(self):
		topLeft = QFrame(self);
		topLeft.setFrameShape(QFrame.StyledPanel);
		
		topRight = QFrame(self);
		topRight.setFrameShape(QFrame.StyledPanel);
		
		bottom = QFrame(self);
		bottom.setFrameShape(QFrame.StyledPanel);
		
		horizontalSplitter = QSplitter(Qt.Horizontal);
		horizontalSplitter.addWidget(topLeft);
		horizontalSplitter.addWidget(topRight);
		
		horizontalSplitter.resize(100, 100);
		
		verticalSplitter = QSplitter(Qt.Vertical);
		verticalSplitter.addWidget(horizontalSplitter);
		verticalSplitter.addWidget(bottom);
		
		boxLayout = QHBoxLayout(self);
		boxLayout.addWidget(verticalSplitter);
	
		self.setLayout(boxLayout);
	
		ck = QCheckBox("修改名称", bottom);
		ck.move(20, 20);
		ck.toggle();
		ck.stateChanged.connect(self.changeTitle);
		
		btn = QPushButton("选择", topLeft);
		btn.setCheckable(True);
		btn.move(20, 60);
		btn.clicked[bool].connect(self.changeColor);
		
		self.show();
Esempio n. 3
0
        self.endRemoveRows()
        return True


if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setStyle("cleanlooks")

    red = QColor(255, 0, 0)
    green = QColor(0, 255, 0)
    blue = QColor(0, 0, 255)

    model = CustomPalette([red, green, blue])

    splitter = QSplitter()
    splitter.resize(1200, 300)

    list_view = QListView(splitter)
    tree_view = QTreeView(splitter)
    table_view = QTableView(splitter)
    combo_box = QComboBox(splitter)

    list_view.setModel(model)
    tree_view.setModel(model)
    table_view.setModel(model)
    combo_box.setModel(model)

    splitter.show()
    app.exec_()
Esempio n. 4
0
import sys

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QSplitter, QTextEdit

app = QApplication(sys.argv)

#splitter = QSplitter(orientation=Qt.Horizontal)
splitter = QSplitter(orientation=Qt.Vertical)

widget1 = QTextEdit()
widget2 = QTextEdit()
widget3 = QTextEdit()

splitter.addWidget(widget1)
splitter.addWidget(widget2)
splitter.addWidget(widget3)

splitter.resize(400, 400)

splitter.show()

# The mainloop of the application. The event handling starts from this point.
# The exec_() method has an underscore. It is because the exec is a Python keyword. And thus, exec_() was used instead.
exit_code = app.exec_()

# The sys.exit() method ensures a clean exit.
# The environment will be informed, how the application ended.
sys.exit(exit_code)
Esempio n. 5
0
    def setupTab4(self, tab4):
        """Layout widgets for preview panel"""
        scrollContainer = QVBoxLayout()
        scrollArea = QScrollArea()
        scrollArea.setWidgetResizable(True)
        mainWidget = QWidget()
        layout = QVBoxLayout()
        mainWidget.setLayout(layout)
        mainWidget.setMinimumSize(QSize(420, 500))
        scrollArea.setWidget(mainWidget)
        scrollContainer.addWidget(scrollArea)
        tab4.setLayout(scrollContainer)

        group1 = QGroupBox(self.tr("QHBoxLayout"))  # , "QHBoxLayout布局"))
        hbox = QHBoxLayout()
        for i in range(1, 5):
            hbox.addWidget(QPushButton(self.tr("Button") + str(i)))
        group1.setLayout(hbox)
        layout.addWidget(group1)

        group2 = QGroupBox(self.tr("QGridLayout"))  # , "QGridLayout布局"))
        group2.setCheckable(True)
        hbox = QGridLayout()
        hbox.addWidget(QLabel(self.tr("First line:")), 0, 0)  # "第一行数据:"))
        hbox.addWidget(QLabel(self.tr("Second line:")), 1, 0)
        hbox.addWidget(QLabel(self.tr("Third line:")), 2, 0)
        hbox.addWidget(QLineEdit(), 0, 1)
        hbox.addWidget(QLineEdit("0"), 1, 1)
        inputText = QLineEdit()
        inputText.setPlaceholderText(self.tr("please input"))  # "请输入:"))
        hbox.addWidget(inputText, 2, 1)
        text = QTextEdit(
            self.tr("This is a textedit, span 3 rows and 2 columns.")
        )  # "这是一个文本框,在QGridLayout中占三行两列。"))
        hbox.addWidget(text, 0, 2, 3, 2)
        group2.setLayout(hbox)
        layout.addWidget(group2)

        group3 = QGroupBox(self.tr("QFormLayout"))  # "QFormLayout布局"))
        group3.setCheckable(True)
        hbox = QFormLayout()

        hbox.addRow(self.tr("please input data"), QLineEdit())  # "请输入数据:")
        hbox.addRow(QLabel(self.tr("please select data")),
                    QSpinBox())  # "请选择数据:"
        box = QComboBox()
        box.addItem("Item1")
        box.addItem("Item2")
        box.addItem("Item3")
        hbox.addRow(self.tr("Please select item"), box)  # , "请选择选项:"
        group3.setLayout(hbox)
        layout.addWidget(group3)

        group4 = QGroupBox("Spliter MDI Dock")
        group4.setCheckable(True)
        hbox = QHBoxLayout()
        group4.setLayout(hbox)
        layout.addWidget(group4)

        splitter1 = QSplitter(Qt.Horizontal)
        splitter2 = QSplitter(Qt.Vertical)
        splitter1.resize(420, 350)
        splitter2.resize(350, 350)
        splitter2.setStretchFactor(0, 1)

        mdi = QMdiArea()
        mdi.addSubWindow(QWidget())
        mdi.addSubWindow(QWidget())
        mdi.cascadeSubWindows()
        w1 = QWidget()
        w2 = QWidget()
        d1 = QDockWidget("dock1", w1)
        d2 = QDockWidget("dock2", w1)
        d1.setAllowedAreas(Qt.LeftDockWidgetArea)
        d1.setFeatures(QDockWidget.AllDockWidgetFeatures
                       | QDockWidget.DockWidgetVerticalTitleBar)
        d2.setFeatures(QDockWidget.DockWidgetVerticalTitleBar)
        d3 = QDockWidget("dock3", w2)
        d3.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.TopDockWidgetArea)
        w1.resize(120, 120)
        splitter2.addWidget(w1)
        splitter2.addWidget(w2)
        splitter1.addWidget(mdi)
        splitter1.addWidget(splitter2)
        hbox.addWidget(splitter1)

        layout.addStretch(1)
Esempio n. 6
0
 def initWin(self):
     iptGrid = QGridLayout()
     title = Text("TSP", (255, 0, 0), 16, "center")
     pic = QPixmap("C:\\tsp.png")
     picLbl = QLabel()
     picLbl.setPixmap(pic)
     picLbl.setScaledContents(True)
     titleLayout = QVBoxLayout()
     titleLayout.addWidget(title)
     titleLayout.addWidget(picLbl)
     titleFrame = QFrame()
     titleFrame.setFrameShape(QFrame.StyledPanel)
     titleFrame.setAutoFillBackground(True)
     p5 = titleFrame.palette()
     p5.setColor(titleFrame.backgroundRole(), QColor(255, 255, 255))
     titleFrame.setPalette(p5)
     titleFrame.setLayout(titleLayout)
     iptTitle = Text("Program Input", (255, 0, 0), 12, "center")
     iptTxt1 = QLabel("Cities No:")
     iptTxt1.setFont(QFont("Decorative", 12))
     iptTxt2 = QLabel("start:")
     iptTxt2.setFont(QFont("Decorative", 12))
     self.iptEdt1 = QLineEdit()
     self.iptEdt1.textChanged[str].connect(self.get_input)
     self.iptEdt2 = QLineEdit()
     self.iptEdt2.textChanged[str].connect(self.get_input)
     self.iptBtn1 = QPushButton("Build")
     self.iptBtn1.clicked.connect(self.bulid_map)
     self.iptBtn2 = QPushButton("Rturn")
     self.iptBtn2.clicked.connect(self.get_initial)
     iptH = QHBoxLayout()
     iptH.addWidget(self.iptBtn1)
     iptH.addWidget(self.iptBtn2)
     iptGrid.addWidget(iptTitle, 1, 0, 1, 5)
     iptGrid.addWidget(iptTxt1, 2, 0)
     iptGrid.addWidget(self.iptEdt1, 2, 1)
     iptGrid.addWidget(iptTxt2, 3, 0)
     iptGrid.addWidget(self.iptEdt2, 3, 1)
     iptGrid.setVerticalSpacing(10)
     iptV = QVBoxLayout()
     iptV.addLayout(iptGrid)
     iptV.addLayout(iptH)
     iptFrame = QFrame()
     iptFrame.setAutoFillBackground(True)
     p6 = iptFrame.palette()
     p6.setColor(iptFrame.backgroundRole(), QColor(220, 225, 255))
     iptFrame.setPalette(p6)
     iptFrame.setFrameShape(QFrame.StyledPanel)
     iptFrame.setLayout(iptV)
     srgGrid = QGridLayout()
     #srgGrid.setVerticalSpacing(10)
     srgTitle = Text("Algorithms", (255, 0, 0), 12, "center")
     self.srgBtn1 = QPushButton("Genetic")
     self.srgBtn1.clicked.connect(self.run_algorithm)
     self.srgBtn2 = QPushButton("Simulated")
     self.srgBtn2.clicked.connect(self.run_algorithm)
     self.srgBtn3 = QPushButton("Tabu")
     self.srgBtn3.clicked.connect(self.run_algorithm)
     self.srgBtn4 = QPushButton("reset")
     self.srgBtn4.clicked.connect(self.reset)
     srgGrid.addWidget(srgTitle, 1, 0, 1, 6)
     srgGrid.addWidget(self.srgBtn1, 2, 1, 2, 4)
     srgGrid.addWidget(self.srgBtn2, 3, 1, 3, 4)
     srgGrid.addWidget(self.srgBtn3, 4, 1, 4, 4)
     srgGrid.addWidget(self.srgBtn4, 5, 1, 5, 4)
     srgFrame = QFrame()
     srgFrame.setFrameShape(QFrame.StyledPanel)
     srgFrame.setAutoFillBackground(True)
     p7 = srgFrame.palette()
     p7.setColor(srgFrame.backgroundRole(), QColor(255, 255, 255))
     srgFrame.setPalette(p7)
     srgFrame.setLayout(srgGrid)
     otpGrid = QGridLayout()
     otpTitle = Text("Program Output", (255, 0, 0), 12, "center")
     otpTxt1 = QLabel("The Cost")
     otpTxt1.setFont(QFont("Decorative", 12))
     self.lcd1 = QLCDNumber()
     otpGrid.addWidget(otpTitle, 1, 0, 1, 2)
     otpGrid.addWidget(otpTxt1, 2, 0)
     otpGrid.addWidget(self.lcd1, 2, 1)
     otpFrame = QFrame()
     otpFrame.setFrameShape(QFrame.StyledPanel)
     otpFrame.setAutoFillBackground(True)
     p8 = otpFrame.palette()
     p8.setColor(otpFrame.backgroundRole(), QColor(220, 225, 255))
     otpFrame.setPalette(p8)
     otpFrame.setLayout(otpGrid)
     splitter1 = QSplitter(Qt.Vertical)
     splitter1.addWidget(titleFrame)
     splitter1.addWidget(iptFrame)
     splitter1.setSizes([240, 135])
     splitter2 = QSplitter(Qt.Vertical)
     splitter2.addWidget(srgFrame)
     splitter2.addWidget(otpFrame)
     splitter2.setSizes([200, 92])
     splitter3 = QSplitter(Qt.Vertical)
     splitter3.addWidget(splitter1)
     splitter3.addWidget(splitter2)
     splitter3.setSizes([382, 291])
     splitter3.resize(260, 685)
     splitter3.move(1100, 5)
     splitter3.setParent(self)
     splitter3.setAutoFillBackground(True)
     p3 = splitter3.palette()
     p3.setColor(splitter3.backgroundRole(), QColor(255, 255, 255))
     splitter3.setPalette(p3)
     self.mapFrame = QFrame()
     self.mapFrame.setFrameShape(QFrame.StyledPanel)
     self.mapFrame.move(5, 5)
     self.mapFrame.resize(1090, 685)
     self.mapFrame.setParent(self)
     self.setAutoFillBackground(True)
     p2 = self.palette()
     p2.setColor(self.backgroundRole(), QColor(0, 0, 0))
     self.setPalette(p2)
     self.mapFrame.setParent(self)
     self.hint = Text("Click the bulid button to bulid a random map",
                      (255, 0, 0), 23, "center")
     self.hint.move(230, 100)
     self.hint.setParent(self)
     self.setWindowTitle("TSP")
     self.width = QDesktopWidget().availableGeometry().width()
     self.height = QDesktopWidget().availableGeometry().height() - 40
     self.resize(self.width, self.height)
     self.show()
     self.nodes = {}
     self.points = {}
     self.flag = True
Esempio n. 7
0
import sys

from PyQt5.QtCore import QStringListModel
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QListView
from PyQt5.QtWidgets import QSplitter
from PyQt5.QtWidgets import QTreeView

if __name__ == '__main__':
    app = QApplication(sys.argv)

    splitter = QSplitter()
    model = QStringListModel(['items[{}]'.format(i) for i in range(10)])

    list_view = QListView(splitter)
    tree_view = QTreeView(splitter)
    list_view.setModel(model)
    tree_view.setModel(model)

    splitter.resize(800, 600)
    splitter.show()

    app.exec_()
Esempio n. 8
0
	def openWindow(self):
		self.setWindowIcon(QIcon('caen.png'))
		sub_box = QHBoxLayout(self)

		# Q1
		splitter1 = QSplitter(Qt.Horizontal)
		Q1 = QLabel("Is the problem with this computer?")
		self.A1 = QComboBox(self)
		self.A1.addItem("Yes")
		self.A1.addItem("No")
		Q1.resize(self.width()/2, 50)
		self.A1.resize(self.width()/2, 50)
		splitter1.addWidget(Q1)
		splitter1.addWidget(self.A1)
		splitter1.resize(self.width(), 50)

		# Q2
		splitter2 = QSplitter(Qt.Horizontal)
		Q2 = QLabel("Please describe this issue:")
		Q2.resize(self.width()/2,200)
		self.A2 = QPlainTextEdit(self)
		self.A2.resize(self.width()/2,200)
		splitter2.addWidget(Q2)
		splitter2.addWidget(self.A2)
		splitter2.resize(self.width(),200)
		
		# Q3
		splitter3 = QSplitter(Qt.Horizontal)
		Q3 = QLabel("Attach any useful information:\n(Files have to be under 10MB \nincluding the screenshots)")
		A3 = QPushButton("Select files")
		A3.clicked.connect(self.getfile)
		Q3.resize(self.width()/2, 50)
		A3.resize(self.width()/2, 50)
		splitter3.addWidget(Q3)
		splitter3.addWidget(A3)
		splitter3.resize(self.width(), 50)

		# Q4
		splitter4 = QSplitter(Qt.Horizontal)
		Q4 = QLabel("Press this button to take a screenshot \nof the entire screen.\nOnly the two screenshots are sent.")
		A4 = QPushButton("Take a screenshot")
		A4.clicked.connect(self.showScreenshotWindow)
		Q4.resize(self.width()/2, 50)
		A4.resize(self.width()/2, 50)
		splitter4.addWidget(Q4)
		splitter4.addWidget(A4)
		splitter4.resize(self.width(), 50)

		# Submit
		splitter5 = QSplitter(Qt.Horizontal)
		submit = QPushButton("Submit Report")
		submit.clicked.connect(self.submitReport)
		splitter5.addWidget(submit)
		splitter5.resize(self.width(), 50)

		splitter = QSplitter(Qt.Vertical)  
		splitter.addWidget(splitter1) 
		splitter.addWidget(splitter2) 
		splitter.addWidget(splitter3) 
		splitter.addWidget(splitter4) 
		splitter.addWidget(splitter5) 

		sub_box.addWidget(splitter)
		self.setGeometry(300,300,600,400)
		self.setWindowTitle("Report Window")