我对QT很陌生,所以我不确定它有什么可能。
我喜欢使用QT Designer在GUI中定位对象并执行其他基本操作。我按照QDialog Tutorial上的示例进行操作。但是,我想知道我是否可以在QT Designer中执行相同的操作,以便我可以使用它来定位在单击" Hello World"之后弹出的对话框。框。
可以将对话框放在代码中,但这不是我要问的。
答案 0 :(得分:1)
我相信使用Qt Designer是不可能的。但是,您始终可以单独创建QDialog并稍后加载.ui
文件。您可以使用uic.loadUi
方法。这将使对话框的所有对象动态可用,并为您节省大量的开发时间。
这是一个非常简短的例子:
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
class WindowLoader:
"""
All windows and dialogs load here.
"""
def __init__(self):
# Your main window.
self.ui = uic.loadUi("main.ui")
self.ui.showMaximized()
# Your custom dialog.
self.dialog = uic.loadUi("dialog.ui")
self.dialog.show()
# Move your dialog later.
self.dialog.move(50, 50)
app = QApplication(sys.argv)
window = WindowLoader()
sys.exit(app.exec_())
请记住,Qt Designer并非所有小部件和属性都可用。据我所知,Qt Designer中没有.move()
。通常,您首先要设计.ui
文件,然后从代码中调用任何无法访问的方法以便稍后修改属性。