pyside6的Qtdesigner中那个控件可以实现程序的输出功能?
例如我编辑一个计算器的图形界面程序,通过line Edit 采集输入数字, 经过计算后输出结算结果,但是没有在找到相应的控件。虽然可以输出在line Edit或者 Plain Text Edit 中,但是这个操作者可以改变输出内容。有没有能显示计算结果的控件,且不能被人为的改变,就像pycharm的执行框那样显示的内容。
给编辑框加上readonly 属性
参考GPT和自己的思路:
可以使用QLabel控件来显示计算结果,可以将其设置为只读,这样就不能被人为地改变。在Qtdesigner中,可以将一个QLabel控件拖动到计算器界面的相应位置,然后在代码中使用setText()方法来设置其文本内容。例如,如果计算结果保存在变量result中,可以使用以下代码将其显示在QLabel控件中:
self.result_label.setText(str(result))
其中,self.result_label是在Qtdesigner中创建的QLabel控件的对象名。这样,在计算器中输入数字,计算后,结果将以只读的方式显示在QLabel控件中,无法被用户修改。
该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以使用QLabel控件来显示计算结果,它不像LineEdit或者PlainTextEdit那样可以被用户编辑,只能显示内容。
在Qtdesigner中,你可以将一个QLabel控件拖到你的窗口中,并在属性编辑器中设置它的文本。
在代码中,你可以使用setText()方法设置QLabel控件的文本内容,例如:
from PySide6.QtWidgets import QApplication, QMainWindow, QLabel
class Calculator(QMainWindow):
def __init__(self):
super().__init__()
self.label = QLabel(self)
self.label.setGeometry(10, 10, 200, 30)
self.label.setText("Result: ")
def calculate(self):
# 在这里进行计算并得到结果
result = 42
self.label.setText("Result: {}".format(result))
if __name__ == "__main__":
app = QApplication([])
calculator = Calculator()
calculator.show()
calculator.calculate()
app.exec_()
在这个例子中,我们创建了一个QLabel控件,设置了它的文本,并在calculate()方法中计算了结果并将其设置为QLabel控件的新文本。
不知道你这个问题是否已经解决, 如果还没有解决的话: