openfile с PyQt5 [дубликат]

Это полностью сработало для меня, после некоторого разговора после установки Android Studio:

  1. Убедитесь, что у вас есть файл .bash_profile. Это должно быть в вашем каталоге [username].
  2. В любом каталоге, в котором вы находитесь, введите следующее:
    echo "export PATH=\$PATH:/Users/${USER}/Library/Android/sdk/platform-tools/" >> ~/.bash_profile
    

Теперь, как правило, у вас будет этот точный путь , но если нет, то используйте любой путь, которым у вас есть папка с инструментами платформы

  1. . Из каталога, в котором находится ваш .bash_profile, введите это:
    . .bash_profile
    
  2. Теперь введите adb devices. Вы должны увидеть ответ «Список подключенных устройств». Теперь вам не нужно каждый раз обращаться к каталогу инструментов-инструментов, чтобы ввести более загадочную команду, например ./adb devices !!!
3
задан reclosedev 17 February 2012 в 17:12
поделиться

2 ответа

Как я понимаю, вы используете Ui_mainWindow, сгенерированный из файла .ui. Как вы видите Ui_mainWindow, это просто класс python, который содержит виджеты. getOpenFileName возвращает экземпляр QWidget в качестве первого параметра. Поэтому вам нужно подклассы QWidget или QMainWindow и определить методы в этом классе.

Код будет выглядеть так:

import sys

from PyQt4 import QtCore, QtGui

from file_with_ui import Ui_MainWindow

class Main(QtGui.QMainWindow, Ui_MainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setupUi(self)

    def browse(self):
        filename = QtGui.QFileDialog.getOpenFileName(self, 'Open File', '.')
        fname = open(filename)
        data = fname.read()
        self.textEdit.setText(data)
        fname.close()

if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

В качестве альтернативы вы можете сохранить ui как Атрибут экземпляра:

class Main(QtGui.QMainWindow):
    def __init__(self):
         QtGui.QMainWindow.__init__(self)
         self.ui=Ui_MainWindow()
         self.ui.setupUi(self)

И вводит ваши элементы управления через self.ui, например: self.ui.textEdit.setText(data)

. Рассмотрим учебное пособие по pyuic использованию PyQt по примеру (сеанс 1)

8
ответ дан reclosedev 19 August 2018 в 07:25
поделиться
  • 1
    Хорошо, спасибо, я прочту это, у меня есть еще одна проблема, я действительно не знаю, как это сделать. Я новичок в занятиях и методах, которые несут меня. – Anteara 18 February 2012 в 07:41
  • 2
    У меня есть сценарий, который читает файлы в каталоге, а затем загружает их: pastebin.com/fnZN1rwS . Поэтому я могу загрузить каждую фотографию в каталог. Однако, поскольку я использую класс, я не знаю, как я могу вернуть каталог переменных из метода просмотра. Я попытался вернуть каталог, но он ничего не делает. Также я попробовал поиск, но не смог найти ничего подходящего. pastebin.com/S57DHQfF Здесь я определяю каталог из метода просмотра. – Anteara 18 February 2012 в 07:46
  • 3
    @Anteara, вы можете определить def upload(self, directory):... в классе и добавить код из скрипта в эту функцию. Затем в browse добавьте вызов к self.upload(directory). Также прочитайте учебник Python - 4.6. Определение функций – reclosedev 18 February 2012 в 15:35

импортировать следующее:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import QtGui, QtCore

В классе Ui_MainWindow (объект) заменить объект на QWidget:

Ui_MainWindow(QWidget)
2
ответ дан Mohammad Hosein Abbasi 19 August 2018 в 07:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: