在 UI 中显示结果

display result in UI

我正在使用 pyside 和 Qt 构建用户界面。我做了很好的计算,我想在 UI 中显示结果。 每个结果都是 1 个浮点数,它们存储在:

self.dist_total_disp
self.time_total_disp

我试过用如下标签显示它们:

    self.layout = QtGui.QVBoxLayout()
    self.plot_window =QtGui.QVBoxLayout()

    self.dist_time_label = QtGui.QLabel()
    self.dist_time_label.setText("total distance = self.dist_total_disp \ntotal survey time = self.time_total_disp ")
    self.plot_window.addWidget(self.dist_time_label)

   ----COMPILE UI----

    self.setLayout(self.layout)
    self.layout.addLayout(self.plot_window)

但这里的问题是 setText 需要一个字符串,并且无法从该字符串中调用 self.dist_total_disp 和 self.time_total_disp。

我也想在 VBox 的右下方显示结果,但我不想将 QVBoxLayout() 更改为 QHBoxLayout()。

我觉得应该有一个更适合这个的QtGui工具,但我在文档中找不到。

编辑:

请注意,计算是使用来自 UI

的输入完成的

这应该有效:

self.dist_time_label.setText("total distance = {0} \ntotal survey time = {1} ".format(self.dist_total_disp, self.time_total_disp))

要在 VBox 的下侧添加标签,您应该在其上方添加一个垫片。

您需要使用要显示的值来格式化字符串

self.dist_time_label.setText("total distance = %f\ntotal survey time = %f" % (self.dist_total_disp, self.time_total_disp))

要在右下方显示标签,您可以使用 addWidget(widget, stretch=0, alignment=0)

alignment 参数
self.plot_window.addWidget(self.dist_time_label, alignment=QtCore.Qt.AlignRight|QtCore.Qt.AlignBottom)