单击按钮时,我会更改图像,就像它被选中一样
为了进行此更改,我给每个人留下默认图像,只需更改按下的按钮,但这三行会导致程序延迟2秒
main_app.ui.btn_tela_atividade_clique_na_imagem.setStyleSheet(style + "clique na figura off.png);}")
main_app.ui.btn_tela_atividade_clique_na_letra.setStyleSheet(style + "clique na letra que falta off.png);}")
main_app.ui.btn_tela_atividade_digt_nome_imagem.setStyleSheet(style + "digite o nome da figura off.png);}")
下面是函数的调用方式
main.py
def atv_escolhida(self, nome_atividade):
self.atividades.atividade_escolhida_fun(self, nome_atividade)
阿维迪达斯酒店
def atividade_escolhida_fun(self, main_app, nome_atividade):
# main_app = self da classe main.py
# self.set_atividade_escolhida(nome_atividade)
self.atividade_escolhida = nome_atividade
style = """
QPushButton:hover {
border: 2px solid rgb(0, 0, 0);
}
QPushButton{
border-image: url(:/atvimg/app_imagens/"""
# TODO verificar isso
main_app.ui.btn_tela_atividade_clique_na_imagem.setStyleSheet(style + "clique na figura off.png);}")
main_app.ui.btn_tela_atividade_clique_na_letra.setStyleSheet(style + "clique na letra que falta off.png);}")
main_app.ui.btn_tela_atividade_digt_nome_imagem.setStyleSheet(style + "digite o nome da figura off.png);}")
if(nome_atividade == "tela_atividade_digt_nome_imagem"):
main_app.ui.btn_tela_atividade_digt_nome_imagem.setStyleSheet(style + "digite o nome da figura on.png);}")
elif(nome_atividade == "tela_atividade_clique_na_imagem"):
main_app.ui.btn_tela_atividade_clique_na_imagem.setStyleSheet(style + "clique na figura on.png);}")
elif(nome_atividade == "tela_atividade_clique_na_letra"):
main_app.ui.btn_tela_atividade_clique_na_letra.setStyleSheet(style + "clique na letra que falta on.png);}")
根据
QObject
的动态属性的值,您可以使用固定样式表来代替重新分配样式表,该样式表具有两个(或更多)特定小部件的外观。使用widget.setProperty(propName, propValue)
更改动态属性,并调用style.unpolish(widget)
和style.polish(widget)
。这可以解决延迟问题。我用background-color
代替图像来演示这个概念。请自己采纳它相关问题 更多 >
编程相关推荐