簡體   English   中英

當我有單獨的代碼文件時,PyQT5 Designer 添加復選框 i Python

[英]PyQT5 Designer add checkbox i Python when I have separate file for code

我的問題是我有一個名為 xxx.ui 的 UI 文件。 然后正如許多人建議的那樣,我創建了另一個名為 test.py 的 python 文件,我在其中放置了使用我的 xxx.ui 的代碼:

# imports
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import uic
import sys


class Ui(QtWidgets.QMainWindow):
    def __init__(self):
        super(Ui, self).__init__()
        uic.loadUi('xxx.ui', self)
        
        self.show()


app = QtWidgets.QApplication(sys.argv)
window = Ui()
app.exec_()

直到這個階段一切正常。 但是現在我想在程序啟動時在我的 UI 中添加一個復選框,而不會在 xxx.ui 內部混亂(因此該復選框將在程序運行時動態創建)。

我怎樣才能做到這一點 ???

先感謝您。

經過多次失敗的嘗試,我找到了如何去做:

在 xxx.ui 文件之外添加復選框。 我轉到我的 test.py 文件並在此行下方添加代碼:

uic.loadUi('xxx.ui', self)

代碼看起來像這樣(我使用在名為 seasonLayout 的設計器中創建的水平布局小部件,我的復選框在該布局內):

self.checkBox = QtWidgets.QCheckBox(self.horizontalLayoutWidget)
self.checkBox.setObjectName("checkBox_0")
self.checkBox.setText('Hello')
self.seasonLayout.addWidget(self.checkBox)

然后,如果您想訪問該對象,您所要做的就是使用以下代碼:

(在這里我更改了這個新創建的復選框的文本):

self.checkBoxs = self.findChild(QtWidgets.QCheckBox, 'checkBox_0')
self.checkBoxs.setText('test')

希望它對其他人有幫助,因為我真的試圖在幾乎所有地方找到答案,每個人都只是使用設計師的小部件 - 沒有人解釋如何在它之外添加它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM