gpt4 book ai didi

python - PySide 如何判断按钮是否已被单击?

转载 作者:行者123 更新时间:2023-12-01 05:51:19 27 4
gpt4 key购买 nike

我有一个带有 5 个按钮的布局,我充当“菜单”,因此您单击一个按钮,会显示一个 View ,单击另一个按钮,会显示另一个 View 。我需要找出单击了哪个按钮,以便我可以根据按下的按钮执行某些操作。类似的东西

if button1_is_clicked:
do_something()
else:
do_something_else()

解决这个问题的最佳方法是什么?这是我的代码:我希望能够更改按钮的样式表,以便更改事件状态和非事件状态

from PySide import QtCore
from PySide import QtGui
import VulcanGui

#--------------------------------------------------------------------------
class Program(QtGui.QMainWindow, VulcanGui.Ui_MainWindow):
def __init__(self, parent=None):
""" Initialize and setup the User Interface """
super(Program, self).__init__(parent)
self.setupUi(self)

""" Populate the Main Area """
self.mainArea.setHtml(self.intro_text())


""" Button Signal/Slots """
self.introButton.toggled.connect(self.intro_area)
self.runVulcanButton.clicked.connect(self.vulcan_run_area)
self.vulcanLogButton.clicked.connect(self.vulcan_log_area)
self.hostFileButton.clicked.connect(self.edit_host_area)
self.configEditButton.clicked.connect(self.edit_config_area)



def intro_text(self):
content_file = open("../content/intro_text.html").read()
return content_file

'''
Get the content to print
'''
def intro_area(self):
content_file = open("../content/intro_text.html").read()
self.mainArea.setHtml(content_file)


'''
Function that will display the data when the 'Run Vulcan' button is pressed
'''
def vulcan_run_area(self):
self.mainArea.setPlainText("Button Two ")


'''
Function that will display the data when the 'Vulcan Log' button is pressed
'''
def vulcan_log_area(self):
self.mainArea.setPlainText("Button Three")


'''
Function that will display the data when the 'Edit Host File' button is pressed
'''
def edit_host_area(self):
self.mainArea.setPlainText("Button Four")

'''
Function that will display the data when the 'Edit Config File' button is pressed
'''
def edit_config_area(self):
self.mainArea.setPlainText("Button Five")



#--------------------------------------------------------------------------



if __name__ == "__main__":

import sys


program = QtGui.QApplication(sys.argv)
mWindow = Program()
mWindow.show()
sys.exit(program.exec_())

最佳答案

我建议您学习 Qt 的基础知识,以熟悉信号和槽。

您需要使最初可见的QPushButton可检查(否则“显示”按钮仅在按住按钮时才会出现),并连接toggled(bool) code> 信号发送到您想要“显示”的按钮的 setVisible(bool) 插槽。显然,对于最初不可见的按钮,您必须在实例化时调用 setVisible(false)

还有其他更可重用的方法可以实现相同的效果 - 但这将帮助您入门。

关于python - PySide 如何判断按钮是否已被单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14228650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com