«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу обновить свой пользовательский интерфейс QT Designer, не теряя изменения кода?

Как я могу обновить свой пользовательский интерфейс QT Designer, не теряя изменения кода?

Опубликовано 25 января 2025 г.
Просматривать:114

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

qtdesigner ui обновлений без перезаписи изменений

, если вы столкнулись с проблемой, в которой изменения пользовательского интерфейса, внесенные в QT -дизайнер , эта статья предоставляет решение для сохранения ваших изменений. Вместо этого создайте отдельный класс в новом файле для обработки логики пользовательского интерфейса. Этот класс должен унаследовать от класса дизайна, сгенерированного QT Designer, и реализовать его методы.

Пример:

рассмотрим шаблон Mainwindow с соответствующим файлом design.ui. Преобразовать его в ui_design.py следующим образом:

class ui_mainwindow (object): def setupui (self, mainwindow): [...] def Retranslateui (Self, MainWindow): [...]

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

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

. Следуя этим правилам, вы можете изменить проектирование и восстановить его код, не влияя на вашу логическую реализацию. Убедитесь, что ваш логический класс придерживается следующей структуры:

class Logic(QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        QMainWindow.__init__(self, *args, **kwargs)
        self.setupUi(self)

где:
class Logic(PyQtClass, DesignClass):
    def __init__(self, *args, **kwargs):
        PyQtClass.__init__(self, *args, **kwargs)
        self.setupUi(self)

pyqtclass зависит от шаблона дизайна (например, qmainwindow, qwidget).

    класса Logic (QmainWindow, UI_MainWindow): def __init __ (self, *args, ** kwargs): Qmainwindow .__ init __ (Self, *args, ** kwargs) self.setupui (self) def BloseEvent (Self, Event): answer = qtwidgets.qmessagebox.question ( себя, «Вы уверены, что хотите бросить?», «Задача в процессе!», Qtwidgets.qmessagebox.yes, Qtwidgets.qmessagebox.no ) Если ответ == qtwidgets.qmessagebox.yes: Event.accept () еще: event.ignore ()
  • ]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3