我有一个带有旧的基于文本的用户界面的shell脚本:我想用python替换我的shell代码,并使用qt designer tool和pyside创建一个图形用户界面。
我能够添加一个菜单栏,一个标签和一些单选按钮。
当用户选择单选按钮时,我想在文本框中显示该选择的含义的简要说明;当它选择另一个单选按钮时,应该出现同一文本框上的不同描述,依此类推。
我的问题是:
感谢您的支持。
答案 0 :(得分:0)
点击按钮后使用setText:
void myclass::on_mybutton_click()
{
ui->mylabel->setText("My awesome text");
}
编辑:这个答案是用C ++编写的,但是你可以轻松地将它转换为python。只是为了你有结构。
答案 1 :(得分:0)
Qt有几个不同的内置API,用于向用户显示帮助消息,因此我建议您在尝试推出自己的解决方案之前先考虑这些:
下面的演示脚本使用了所有这些方法,并且还展示了如何处理"这是什么"消息:
from PyQt4 import QtCore, QtGui
class Window(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.statusBar()
self.toolbar = self.addToolBar('toolbar')
action = QtGui.QWhatsThis.createAction(self)
action.setStatusTip('Enter what\'s this mode')
self.toolbar.addAction(action)
widget = QtGui.QGroupBox(self)
layout = QtGui.QVBoxLayout(widget)
self.setCentralWidget(widget)
for name in 'one two three four'.split():
checkbox = QtGui.QCheckBox('Checkbox %s' % name, self)
checkbox.setToolTip('Tooltip for checkbox %s' % name)
checkbox.setWhatsThis("""
<b>What\'s this text</b>:<br><br>
Checkbox %s<br><br>
<a href="url-%s">link to main help</a>
""" % (name, name))
checkbox.installEventFilter(self)
layout.addWidget(checkbox)
def eventFilter(self, source, event):
if event.type() == QtCore.QEvent.WhatsThisClicked:
print(event.href())
return QtGui.QMainWindow.eventFilter(self, source, event)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = Window()
window.setGeometry(500, 300, 250, 200)
window.show()
sys.exit(app.exec_())