"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso atualizar minha interface do Qt Designer sem perder minhas alterações de código?

Como posso atualizar minha interface do Qt Designer sem perder minhas alterações de código?

Publicado em 2025-01-25
Navegar:884

How Can I Update My Qt Designer UI Without Losing My Code Changes?

qtdesigner ui atualiza sem sobrescrever alterações

se você encontrou o problema em que as alterações da interface do usuário feitas no designer QT são posteriormente sobrecarregadas após a conversão do código , este artigo fornece uma solução para preservar suas modificações. Em vez disso, crie uma classe separada em um novo arquivo para lidar com a lógica da interface do usuário. Esta classe deve herdar da classe de design gerada pelo QT Designer e implementar seus métodos. Converta -o em ui_design.py da seguinte forma:

classe ui_mainwindow (object): def setupui (self, mainwindow): [...] def retranslateui (self, mainwindow): [...]

Crie um novo arquivo logic.py::&&lames def __init __ (self, *args, ** kwargs): Qmainwindow .__ init __ (self, *args, ** kwargs) Self.setupui (self) Seguindo essas regras, você pode modificar o design e regenerar seu código sem afetar sua implementação lógica. Certifique -se de que sua classe lógica siga a seguinte estrutura:

classe Logic (pyqtclass, designclass): def __init __ (self, *args, ** kwargs): Pyqtclass .__ init __ (self, *args, ** kwargs) self.setupui (self)

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        [...]

    def retranslateUi(self, MainWindow):
        [...]
where:

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        [...]

    def retranslateUi(self, MainWindow):
        [...]
pyqtclass depende do modelo de design (por exemplo, QMainWindow, Qwidget). é o nome da classe em seu design (por exemplo, ui_mainwindow). , como fechar uma caixa de mensagem pyqt com a janela dos pais CloseEvent:

classe Logic (qmainwindow, ui_mainwindow): def __init __ (self, *args, ** kwargs): Qmainwindow .__ init __ (self, *args, ** kwargs) self.setupui (self) def closeEvent (self, evento): Resposta = Qtwidgets.qmessageBox.Question ( auto, 'Tem certeza de que deseja desistir?', 'Tarefa está em andamento!', Qtwidgets.qmessageBox.yes, Qtwidgets.qmessageBox.no ) se responder == qtwidgets.qmessageBox.yes: Event.Acept () outro: event.ignore ()
            
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3