小编tck*_*qnt的帖子

如何在PyQt5中打开新的MDI子窗口?

我想要做的是Countrypage通过单击本身的“新建”按钮来打开一个新的子窗口Countrypage

例如,如果我在一个CountryPage窗口(窗口标题:“国家/地区页面”)中单击“新建”按钮,Countrypage则会在MDI区域中再打开一个新窗口(窗口标题:“国家/地区页面1”)。现在,如果我们单击“国家/地区页面 1”中的“新建”按钮,MDI 区域中将再打开一个新窗口(窗口标题:“国家/地区页面 2”),依此类推 - 我想一一关闭窗口通过按 中相应的“关闭”按钮Countrypage。仅通过按“新建”按钮才能打开新窗口。

如果我们通过按“关闭”按钮关闭最后打开的窗口,“国家”文本框中的文本项将自动更新到前一个窗口的“国家”文本框中,依此类推。

主要脚本:

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

from sample_countrypage import Countrypage

class MainPage(QMainWindow):
    count = 0

    def __init__(self):
        super().__init__()

        self.mdi = QMdiArea()
        self.mdi.setFixedSize(1000,400)
        self.mdi.setHorizontalScrollBarPolicy(Qt.ScrollBarAsNeeded)
        self.mdi.setVerticalScrollBarPolicy(Qt.ScrollBarAsNeeded)

        self.setWindowTitle(" Sample Programme")
        self.setGeometry(100,100,1600,600)
        self.Ui()
        self.show()

    def Ui(self):
        self.btn1=QPushButton("Country")
        self.btn1.setFixedSize(100, 30)
        self.btn1.clicked.connect(self.countrypage)

        self.left_layout = QVBoxLayout()
        self.right_layout = QHBoxLayout()
        self.main_layout = QHBoxLayout()

        self.left_layout.setContentsMargins(3,5,5,3)
        self.left_layout.addWidget(self.btn1)
        self.left_layout.addStretch()
        self.right_layout.addWidget(self.mdi)

        self.main_layout.setSpacing(5)
        self.main_layout.setContentsMargins(0,0,0,0)
        self.main_layout.addLayout(self.left_layout)
        self.main_layout.addLayout(self.right_layout)
        self.main_layout.addStretch()

        widget = …
Run Code Online (Sandbox Code Playgroud)

python user-interface mdi pyqt pyqt5

6
推荐指数
1
解决办法
1555
查看次数

如何在 Pyqt5 中以编程方式更改输入键盘布局?

是否可以在 Pyqt5 中以编程方式更改输入键盘布局?

我的第一个和第二个文本框接受泰米尔字母。泰米尔语 有很多可用的键盘布局。默认情况下,在 Windows 10 中,泰米尔语注音、泰米尔语 99 和泰米尔语传统键盘可用。现在我想以编程方式选择键盘布局...

例如。在我的第一个文本框中,我需要分配“Tamil99”键盘布局,在第二个文本框中,我需要分配“Tamil Phonetic”键盘布局。如何以编程方式分配它?

import sys

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

class Diff_Language(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("InPut Different languges in Different Textbox")
        self.lbl1 = QLabel("Input Language - Tamil99 Keyboard")
        self.lbl2 = QLabel("Input Language - Tamil phonetic keyboard")


        self.tbox1 = QLineEdit()
        self.tbox1.setFont(QFont('senthamil', 10, QFont.Bold))

        self.tbox2 = QLineEdit()
        self.tbox2.setFont(QFont('senthamil', 30, QFont.Bold))

        self.vbox = QVBoxLayout()
        self.vbox.addWidget(self.lbl1)
        self.vbox.addWidget(self.tbox1)
        self.vbox.addWidget(self.lbl2)
        self.vbox.addWidget(self.tbox2)

        self.setLayout(self.vbox)

def main():
    app = QApplication(sys.argv)
    mainscreen = Diff_Language() …
Run Code Online (Sandbox Code Playgroud)

python pyqt5

5
推荐指数
1
解决办法
3001
查看次数

标签 统计

pyqt5 ×2

python ×2

mdi ×1

pyqt ×1

user-interface ×1