PyQt标签在widg上的定位

2024-06-28 10:52:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个简单的arduino项目。我的项目的主要目的是根据引脚状态(1或0)在液晶屏上显示文本。在

为了达到这个目的,我创建了一个简单的表单并在其上添加了一个标签。启动时显示默认文本,但当我按下菜单按钮(模拟引脚=1)时,文本变为“警告文本”

这是我的Python代码(这是我的应用程序的入口点):

import sys
from forms import MainForm2
import os
from PyQt4.QtGui import *


def main():
    app,  window = MainForm2.init()

    p = app.desktop().availableGeometry().center()
    window.move(p.x()-window.width()*0.5,p.y()-window.height()*0.5)
    window.setWindowTitle('Monitor') #<=Nazvanie app    
    window.showMaximized()
    sys.exit(app.exec_())

if __name__ =="__main__":
    main()

MainForm2的代码(所有应用程序逻辑都在这里):

^{pr2}$

有了这段代码,我只有一个标签集中在表单上,而这有两个问题:

  1. 长文本显示不正确。像“bla-bla-bla-bla”

  2. 如何在表单右下角获得第二个标签?

我想得到类似的图片:

enter image description here

有人能告诉我怎么做吗?在


Tags: 项目代码from文本import目的app表单
1条回答
网友
1楼 · 发布于 2024-06-28 10:52:31

在讨论问题之前,我将指出您的代码可以实现的改进:

  • 不要使用旧的连接方式,请检查new style。在
  • 如果不打算修改继承的类,则不必编写该类的构造函数。在
  • 您不应该直接调用QThreadrun()方法,否则任务将在主线程上运行,而且显然不必发送它,您必须调用start()方法,这将在内部创建线程,run()方法将在该线程上执行。请记住,QThread不是一个线程,它是一个线程处理程序。在
  • 不要使用与继承的类名相同的类名称,这可能会给您带来将来很难调试的问题。在

说到这一点,只需要使用布局建立第一个QLabel,并使用setAlignment()传递它QtCore.Qt.AlignCenter,告诉它水平和垂直地聚焦。在

另一个QLabel显示了必须在几何体中手动移动它的时间,这必须在每次修改QLabel时完成,因此我们使用resizeEvent和更新文本的方法。在

^{1}$

相关问题 更多 >