在UI

时间:2015-07-18 09:48:39

标签: python qt pyqt pyside

我正在使用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

的输入完成的

2 个答案:

答案 0 :(得分:0)

这应该有效:

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

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

答案 1 :(得分:0)

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

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)