Ответы пользователя по тегу Python
  • Простой процессора из-за интерпретатора?

    @khrisanfov
    Программист
    Не каждую задачу можно распараллелить. Если это возможно, то надо смотреть одну из этих библиотек https://docs.python.org/3/library/threading.html и https://docs.python.org/3.6/library/multiprocessin... я бы смотрел в сторону мультипроцессинга, так-как многопоточность в питоне жутко тормозит из-за блокировки потоками друг-друга, 100% процессора выжать не получится на потоках, можете нагуглить эту проблему.
    Ответ написан
    Комментировать
  • Как передать значение QPushButton из QTableWidget в функцию?

    @khrisanfov
    Программист
    По каждому сигналу в Qt можно узнать отправителя, как делать это в Python точно не знаю, но гугл подсказывает что sender = self.sender(), а дальше делай с этим объектом что хочешь, например получай id так sender.id
    Ответ написан
    Комментировать
  • Pyqt5 конвертация ui файла в py?

    @khrisanfov
    Программист
    Ну вы и шаман, все ключи перепробовали -0 -o - o и т.д. Для справки: - означает что дальше идет ключ, пробел не нужен, o - это буква от слова output, а не цифра ноль. Пробуйте сначала pyuic5 zzr.ui без ключей, тогда команда выведет вам класс на консоль, его потом можно скопировать в файл. В Linux я просто делаю перенаправление вывода в файл вроде этого pyuic5 zzr.ui > zzr.py.
    Ответ написан
  • Как из одного окна, при нажатии на кнопку, открыть другое окно ( PyQt5 )?

    @khrisanfov
    Программист
    Вот пример. Все слоты уже есть, свои создавать не нужно. Смотри документацию по Qt.
    #!/usr/bin/env python3
    
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton
    
    
    class Window1(QWidget):
        def __init__(self):
            super(Window1, self).__init__()
            self.setWindowTitle('Window1')
            self.setMinimumWidth(200)
            self.setMinimumHeight(50)
            self.button = QPushButton(self)
            self.button.setText('Ok')
            self.button.show()
    
    
    class Window2(QWidget):
        def __init__(self):
            super(Window2, self).__init__()
            self.setWindowTitle('Window2')
    
    
    class MainWindow(QMainWindow):
        def __init__(self):
            super(MainWindow, self).__init__()
            self.setWindowTitle('MainWindow')
    
        def show_window_1(self):
            self.w1 = Window1()
            self.w1.button.clicked.connect(self.show_window_2)
            self.w1.button.clicked.connect(self.w1.close)
            self.w1.show()
    
        def show_window_2(self):
            self.w2 = Window2()
            self.w2.show()
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        w = MainWindow()
        w.show()
        w.show_window_1()
        sys.exit(app.exec_())

    Интерфейс лучше рисовать в QtCreator. Потом с помощью pyuic5 конвертировать в Python класс.
    Ответ написан
    Комментировать