ここでguiのテキストボックスのようなコンソールを作って、同じmd5ハッシュを使用するフォルダ内に画像があるかどうかを教えてもらいたいです。guiコンソールを備えたPython pyqtファイルハッシャー
これはなぜ私のために働いていないのか私は本当に混乱しています。私はこれを行うには非常に多くの異なる方法を試してきましたが、何も私のために働いていません。
私が働いているコードはここです(楽しいときはエラーは出ませんが、うまくいきません)。
import webbrowser, hashlib, os, sys, time, random, win32api, re , time, subprocess
from PyQt4.QtCore import QSize, QTimer, QRect, pyqtSlot
from PyQt4.QtGui import QApplication,QLineEdit ,QGraphicsRectItem , QMainWindow, QPushButton, QWidget, QIcon, QLabel, QPainter, QPixmap, QMessageBox, QAction, QKeySequence, QFont, QFontMetrics, QMovie
from PyQt4 import QtGui
class UIWindow(QWidget):
def __init__(self, QWidget, parent=None):
super(UIWindow, self).__init__(parent)
self.resize(QSize(400, 450))
self.textbox = QLineEdit('dance',QWidget)
self.textbox.move(20, 300)
self.textbox.resize(280,300)
self.btn = QPushButton('files',self)
self.btn .resize(100, 40)
self.btn .move(260, 400)
def sesh():
for root, dirs,files in os.walk("C:\Users\Matt\Desktop\photos", topdown=True):
for name in files:
#print(os.path.join(root, name))
FileName = (os.path.join(root, name))
hasher = hashlib.md5()
with open(str(FileName), 'rb') as afile:
buf = afile.read()
hasher.update(buf)
if (hasher.hexdigest()) == '653cd1d521d8f343c998e0d568a1e5ea':
self.textbox.setText('file is here')
if (hasher.hexdigest()) == 'd41d8cd98f00b204e9800998ecf8427e':
self.textbox.setText('file is here')
if (hasher.hexdigest()) == '03c7c0ace395d80182db07ae2c30f034':
self.textbox.setText('file is here')
if (hasher.hexdigest()) == '6c0cbf5029aed0af395ac4b864c6b095':
self.textbox.setText('file is here')
else:
self.textbox.setText ("file is NOT here")
def click():
self.textbox.setText('Button clicked.' +str(sesh()))
self.btn .clicked.connect(click)
class MainWindow(QMainWindow,):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setGeometry(50, 50, 1000, 1000)
self.setFixedSize(950, 620)
self.startUIWindow()
self.setWindowIcon(QtGui.QIcon('Images\Logo.png'))
def startUIWindow(self):
self.Window = UIWindow(self)
self.setWindowTitle("pythonw")
self.setCentralWidget(self.Window)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWindow()
sys.exit(app.exec_())
誰かが素晴らしいだろうと私はちょうど完全にこの時点で失われていますので、感謝される私のためにこの作品を作ることができれば。
これは私の問題を解決してくれませんでしたが、まだ何も得られていませんでした。 – Tyrell
ああ、私は1つのことを微調整しました。今はうまくいきました。QLineEdit私のフォルダには、そのファイルのうちの1つがそこにありますが、ファイルの1つがフォルダに入っていないと私に伝えていないことがわかっています。 – Tyrell
(1)あなたの調整が終わったことを言いなさい - (2)最も単純な方法は複数行にするのではなく、戻り値をよりわかりやすいものに変更することです。私は答えを編集して例を挙げます。 – Alan