我正在使用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
的输入完成的答案 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)