gpt4 book ai didi

python - 以编程方式访问 QT Designer 对象

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:32 25 4
gpt4 key购买 nike

免责声明:Python 和 qt 设计器的新手

QT设计器4.8.7

Python 3.4

PyCharm 5.0.3

问题 - 如何以编程方式将控件添加到主窗体或主窗体上的滚动区域小部件(在 QT Designer 中创建)?

我在 qt 设计器中创建了一个 MainWindow 并添加了我的小部件。以下是PyCharm中的整个测试程序:

import sys
from PyQt4 import QtGui, QtCore, uic

from PyQt4.QtGui import *

from PyQt4.QtCore import *

qtCreatorFile = "programLauncher.ui"

Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)

class MyApp(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)

# Cannot resize or maximize
self.setFixedSize(1045, 770)

# Add button test
self.dateLabel = QtGui.QLabel("Test")
self.pushButton = QtGui.QPushButton('Test button')

# self.scrollArea_programs.addWidget()

grid = QtGui.QGridLayout()
# self.scrollArea_programs.addWidget(self.pushButton)
grid.addWidget(self.dateLabel,0,0)
grid.addWidget(self.pushButton,0,1)
self.setLayout(grid)

self.pushButton_exit.clicked.connect(self.closeEvent)

def closeEvent(self):
QtGui.QApplication.quit()


if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())

正如您所看到的,我尝试向网格添加控件,但程序运行时没有显示任何内容 - 我还尝试向滚动区域添加控件。有人可以帮助我在运行时向滚动区域添加 1 个控件 - 这样我就可以知道执行此操作的正确方法或“一种”正确的方法。

提前致谢

最佳答案

无需访问您的 programLauncher.ui 并对您发布的代码进行最少的更改,您就可以将 UI 元素添加到窗口,如下所示:

from PyQt4 import QtGui
import sys


class MyApp(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)

# Cannot resize or maximize
self.setFixedSize(1045, 770)
widget = QtGui.QWidget(self)
self.setCentralWidget(widget)
# Add button test
self.dateLabel = QtGui.QLabel("Test")
self.pushButton = QtGui.QPushButton('Test button')

grid = QtGui.QGridLayout()
grid.addWidget(self.dateLabel, 0, 0)
grid.addWidget(self.pushButton, 0, 1)
widget.setLayout(grid)

self.pushButton.clicked.connect(self.closeEvent)

def closeEvent(self, event):
QtGui.QApplication.quit()


if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())

这将在屏幕上显示控件,尽管布局还有很多不足之处。您可能需要根据 .ui 文件中的内容对此进行修改。在此示例中您需要注意的一件事是 QMainWindow 需要一个中央小部件(上例中的 widget)。然后,您可以在该小部件上设置布局。

关于python - 以编程方式访问 QT Designer 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35224978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com