Невозможно создать изображение кнопки Python - PullRequest
0 голосов
/ 27 июня 2018

Edit: Я нашел способ из этого видео: https://www.youtube.com/watch?v=8HwHqa3tq70

но для меня это не работает, это мой код:

from tkinter import *
from tkinter import ttk
rw = Tk()
b1 = ttk.Button(rw, text = "click")
b1.pack()

filepath = "2.jpg"
mi = PhotoImage(file = filepath)


b1.config(image = mi, compound = RIGHT)

Я получаю следующую ошибку:

_tkinter.TclError: couldn't open "2.jpg": no such file or directory
>>> canv.create_image(20,20, anchor=NW, image=img)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'img' is not defined

Любой совет по этому поводу?

1 Ответ

0 голосов
/ 27 июня 2018

хорошо .. вы изменили вопрос. Я оставляю свой ответ на ваш предыдущий вопрос. Я надеюсь, что это полезно.

Вы можете использовать PyQt5. У меня есть папка с этим:

|-Project/
|--- images/
|----- 1.png
|------2.png
|--- app.py

Есть две кнопки, например, значок «кулачок» и значок «пользователь»:

from PyQt5 import QtCore, QtGui, QtWidgets
import os

class Ui_Example(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(Ui_Example, self).__init__(parent)
        width = 350
        height = 180
        self.resize(width,height)
        self.setMaximumSize(width,height)
        self.setMinimumSize(width,height)
        self.setWindowTitle("Example")

        self.path = os.path.join(os.path.dirname(os.path.abspath(__file__)),'images') #icons path

        ### icons

        usericon = QtGui.QIcon()
        usericon.addPixmap(QtGui.QPixmap(os.path.join(self.path, '2.png')), QtGui.QIcon.Normal, QtGui.QIcon.Off)

        camicon = QtGui.QIcon()
        camicon.addPixmap(QtGui.QPixmap(os.path.join(self.path, '1.png')), QtGui.QIcon.Normal, QtGui.QIcon.Off)

        # Button user
        self.btnuser = QtWidgets.QPushButton(self)
        self.btnuser.setGeometry(QtCore.QRect(20,20,150,100))
        self.btnuser.setIcon(usericon)
        self.btnuser.setStyleSheet("background-color:transparent;")
        self.btnuser.clicked.connect(self.ExecUserCode)
        # Button cam
        self.btncam = QtWidgets.QPushButton(self)
        self.btncam.setGeometry(QtCore.QRect(180, 20, 150, 100))
        self.btncam.setIcon(camicon)
        self.btncam.setStyleSheet("background-color:transparent;")
        self.btncam.clicked.connect(self.ExecCamCode)
        # Button..
        # ...

    def ExecUserCode(self):
        print("User Code here")
    def ExecCamCode(self):
        print("Cam Code here")

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MW = Ui_Example()
    MW.show()
    sys.exit(app.exec_())

Результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...