Задать вопрос
  • Зависит ли битрейт от разрешения?

    Pyrym
    @Pyrym
    Python 3 и PyQt5
    Конечно, завит. Чем больше разрешение, т.е. площадь картинки, тем больше требуется информации для описания изображения при равном качестве (битрейт увеличивается).
    Ответ написан
    Комментировать
  • Почему selectedText в QLineEdit возвращает пустую строку?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Рабочий вариант
    # Python 3. PyQt4
    # -*- coding: utf-8 -*-
    
    import sys
    from PyQt4 import QtGui, QtCore
    
    
    # ГРАФИКА
    class Window(QtGui.QWidget):
        def __init__(self, parent=None):
            QtGui.QWidget.__init__(self, parent)
    
            self.resize(400, 150) # шир / выс окна  
            
            # ПЕРЕМЕННЫЕ КЛАССА
            #self.sel_text = ''
            self.sel_text_lst = []      
    
            # БЛОК РАЗМЕТКИ
            self.vbox = QtGui.QVBoxLayout()
            # ---
            self.pole_vvod = QtGui.QLineEdit('djf j.f ndsf ndk adf')
            self.pole_vvod.selectionChanged.connect(self.tx)
            self.vbox.addWidget(self.pole_vvod)
            # ---
            self.btn = QtGui.QPushButton('Пуск')
            self.btn.clicked.connect(self.on_click)
            self.vbox.addWidget(self.btn)
            # ---
            self.setLayout(self.vbox)
            # ---
    
        # ЛОГИКА
        def tx(self):
            self.sel_text = self.pole_vvod.selectedText()
            #print(self.sel_text)
            self.sel_text_lst.insert(0,self.sel_text)
            if len(self.sel_text_lst) > 2:
                self.sel_text_lst.pop(2)
            
        def on_click(self):
            #text = self.sel_text
            text = self.sel_text_lst[1]
            print(text)
    
    
    # КОНЕЦ
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        window = Window()   
        window.show()
        sys.exit(app.exec_())
    Ответ написан
    Комментировать
  • Python3 | Динамическое имя модуля?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    В общем решение очень простое.
    Основной файл:
    # Python 3
    # -*- coding: utf-8 -*-
    
    import sys, importlib
    from PyQt4 import QtCore, QtGui
    from PyQt4.QtGui import (QWidget, qApp, QAction, QApplication, QHBoxLayout, QVBoxLayout,
                                 QGridLayout, QLabel, QLineEdit, QTextEdit, QPushButton, QComboBox,
                                 QCheckBox, QRadioButton, QFrame, QScrollArea, QTabWidget, QSizePolicy,
                                 QGroupBox, QFileDialog)
    from PyQt4.QtGui import QIcon, QPixmap, QPalette, QTextCursor
    from PyQt4.QtCore import QSize
    
    
    # ЦВЕТА ПОЛЕЙ
    sss_vivod = ("background-color: #456173; color: #f2f2f0; font: 14pt 'Courier New'")
    
    def dynamic_import(module):
        return importlib.import_module(module)
    
    # ГРАФИКА
    class Window(QWidget):
        def __init__(self, parent=None):
            QWidget.__init__(self, parent)
    
            self.resize(300, 200) # шир / выс окна
            self.setWindowTitle('Заголовок') # Заголовок
            
    
            # БЛОК РАЗМЕТКИ
            self.vbox = QtGui.QVBoxLayout()
            # ---
            self.pole_vivod = QtGui.QTextEdit('')
            self.pole_vivod.setStyleSheet(sss_vivod)
            self.vbox.addWidget(self.pole_vivod)
            # ---
            self.box = QComboBox()
            self.box.addItems(['a','b1'])
            self.box.activated[str].connect(self.on_start)
            self.vbox.addWidget(self.box)
            # ---
            self.setLayout(self.vbox)
            # ---
            Window.on_start(self)
    
        # ЛОГИКА
        def on_start(self):
            name_modul = self.box.currentText()
            # print('name_modul = ',name_modul)
    
            mod = dynamic_import(name_modul)
            #print(mod.p)
            self.pole_vivod.setText(str(mod.p))
    
    
    
    
    
    # КОНЕЦ
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        window = Window()   
        window.show() # запускает окно
        sys.exit(app.exec_())

    Файл a.py:
    p = ['few','efwg']
    Файл b.1:
    p = [2,234,214]
    Ответ написан
    Комментировать
  • Как запустить файл питона 3 на Linux Mint 18.2 двойным кликом?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Для оболочки kde решил так:
    Запуск двойным кликом *.pyw
    Зайти в свойства файла. Вк (вкладка) «Основные» - «Параметры типа файла» - Вк «Общие». Меняем описание на «python3» - для себя. В «Приоритет приложений» - Кн (кнопка) «Добавить» - прописать
    console-kit-daemon. В списке приоритетов приложений появится новая запись, выделяем её, далее «Правка» - Вк «Приложение». Прописываем команду: «/usr/bin/python3 %f». Закрываем все окна. Теперь расширение pyw открывается двойным кликом.
    Ответ написан
    Комментировать
  • Аналоги TrueCrypt для Linux и Mac OS?

    Pyrym
    @Pyrym
    Python 3 и PyQt5
    Есть ещё VeraCrypt - https://ru.wikipedia.org/wiki/VeraCrypt
    Хотя я им не пользовался
    Ответ написан
    Комментировать
  • Как сослаться на неизвестную переменную в модуле?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Мне подсказали ответ:
    getattr(mod, perem)
    Ответ написан
    Комментировать
  • Какие есть коллективные блоги по типу хабра, но для инженеров?

    Pyrym
    @Pyrym
    Python 3 и PyQt5
    Строители сидят на dwg.ru
    Ответ написан
    Комментировать
  • Python 3 | Запуск модуля с именем на русском?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Я понял, в чём дело. Модуль с именем на русском не запускается с питоном портативной версии, а на нормально установленной версии всё работает нормально. Видимо, это надо принять как данность.
    Ответ написан
    Комментировать
  • Как перевести многомерный список в html-таблицу для QTextEdit?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Вот работающее решение:
    def on_click_7(self):
            def aps(i):
                i = ''.join(map(str, i))
                data.append(str(i))
            data = []
            self.pole_vivod.clear() # очистка поля вывода
            aps(['<table border ALIGN=CENTER WIDTH=95%>'])
            for i in d:
                aps(['<tr>'])
                for j in i:
                    aps(['<td ALIGN=CENTER>'+str(j)+'</td>'])                
                aps(['</tr>'])
            aps(['</table>'])      
            data = ''.join(map(str, data)) # объединение списка
            self.pole_vivod.append(data)
    Ответ написан
    Комментировать
  • Python. Как из списка сделать многомерный массив?

    Pyrym
    @Pyrym Автор вопроса
    Python 3 и PyQt5
    Можно чуть улучшить:
    row = 3 # строк
    col = int(len(p)/row) # столбцов
    
    q = []
    for i in range(len(p)//col):
        q.append(p[i*col:i*col+col])
    
    if len(p) % col > 0:
        q.append(p[-1*(len(p)%col):])
    print('q = ',q)
    Ответ написан
    Комментировать