aus tkinter
Verfasst: Freitag 11. August 2017, 09:37
Hallo, vielleicht kann mir jemand hier auch helfen im tkinter Bereich wurde mir geholfen, ich möchte gerne das script umändern aber leider geht es nicht, grund ist das ich die leiste oben in dem script nicht haben möchte mit tkinter geht es nicht (linux) wurde schon im tkinter Bereich besprochen, hier mal der Code Problem ist übergabe des Bildes an label und rotate und vielleich noch mehr.
Vielleicht hat jemand Lust sich das anzuschauen.
Vielen Dank
Gruß ganja
hier die ui
Vielleicht hat jemand Lust sich das anzuschauen.
Vielen Dank
Gruß ganja
Code: Alles auswählen
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys, math
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5 import Qt
from PyQt5.uic import loadUi
from PIL import Image
import PIL
from PIL.ImageQt import ImageQt
#from Image import Image
#from Image import *
class Application(Qt.QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
#### ohne border
#self.setWindowFlags(QtCore.Qt.FramelessWindowHint)
self.ui = loadUi("wheel_gui.ui", self)
self.start.clicked.connect(self.start_rotate)
self.angle=0
self.img_dict = {}
self.angle_step = 0
self.load_angle = 0
self.step = 20
pixmap = QtGui.QPixmap("pfeilunten1.png")
self.label.setPixmap(QtGui.QPixmap(pixmap).scaled(50, 50, QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation))
self.label.setAlignment(QtCore.Qt.AlignCenter)
#pixmap = QtGui.QPixmap("wheel.png")
#self.label_2.setPixmap(QtGui.QPixmap(pixmap).scaled(650, 650, #QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation))
#self.label_2.setAlignment(QtCore.Qt.AlignCenter)
im = Image.open('Gluecksrad_750_2.png')
im = im.convert("RGBA")
data = im.tobytes("raw","RGBA")
qim = ImageQt(im)
pix = QtGui.QPixmap.fromImage(qim)
#self.label_2.setPixmap(pix)
#self.graphicsScene.addPixmap(pix)
#pix.show()
#self.label_2(pix)
self.load_image()
self.label['image'] = self.img_dict[0]
self.load_images()
def start_rotate(self,event=None):
if not self.angle_step:
self.angle_step = 10
self.angle = self.angle// 10 * 10
self.img_rotate()
self.Button['state'] = 'disabled'
self.after(int(4500+random()*1000),self.wheel_stop)
def load_images(self):
if self.load_angle < 360:
self.load_image()
self.after(1,self.load_images)
def load_image(self):
self.img_dict[self.load_angle] = ImageQt(self.label_2.rotate(self.load_angle))
#self.img_dict[self.load_angle] = ImageQt.PhotoImage(self.label_pil_img.rotate(self.load_angle))
self.load_angle += 10
def img_rotate(self):
self.angle += self.angle_step
self.angle = self.angle % 360
if self.angle_step != 10:
self.img = ImageQt(self.label_2.rotate(self.angle))
self.label['image'] = self.img
if not (self.angle % 15):
self.angle_step = max(0,self.angle_step-1)
if self.angle_step:
self.after(self.step,self.img_rotate)
else:
self.Button['state'] = 'normal'
print(self.angle)
else:
if self.angle not in self.img_dict:
self.img_dict[self.angle] = ImageQt(self.label_2.rotate(self.angle))
self.label['image'] = self.img_dict[self.angle]
self.after(self.step,self.img_rotate)
def wheel_stop(self,event=None):
self.angle_step = 5
def main():
app = Qt.QApplication(sys.argv)
app_now = Application()
app_now.show()
#full ohne border
#app_now.showFullScreen()
app.exec_()
if __name__ == '__main__':
main()
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>961</width>
<height>783</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="minimumSize">
<size>
<width>0</width>
<height>50</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>50</height>
</size>
</property>
<property name="font">
<font>
<pointsize>48</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>v</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="widget_2" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>100</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="start">
<property name="minimumSize">
<size>
<width>0</width>
<height>90</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>90</height>
</size>
</property>
<property name="font">
<font>
<pointsize>80</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>START</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>