在Qt Designer 5.9中,test.ui
中的verticalLayout
与窗口边缘有一定距离,但是在使用main.py
中的PyQt 5.11.3加载verticalLayout
后,verticalLayout
会延伸到窗口的边缘。在
主.py:
#!/usr/bin/python3
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.uic import loadUi
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__()
loadUi("test.ui", self)
def main():
app = QApplication(sys.argv)
main_window = MainWindow(app)
main_window.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
测试.ui:
^{pr2}$Qt Designer 5.9中test.ui
的屏幕截图:
main.py
加载test.ui
截图:
这种行为的原因是什么?在
如果检查^{cd1>}的代码,您将发现以下代码:
<强>uiparser.py
问题是由^{cd2>}函数引起的,因为父函数将引用用作基的小部件,在这种情况下,main窗口符合^{{cd3>}的要求,因此^{{cd2>}将返回True,因此,左、上、右,底部为-1,因为这些属性不存在将更新为0,因此将通过消除默认值(9、9、9、9)来建立应用于^{cd5>}的应用程序,但对于Qt设计器,没有更新^{cd5>}以保持其默认值。
因此,最后是一个pyqt bug,它也指出了以下评论:
^{pr2}$因此,有几种解决方案:
删除:
使用^{cd7>}:
我更喜欢第二个解决方案,因为源代码不应该修改。
相关问题 更多 >
编程相关推荐