मुझे पता चला कि क्यूटी में हम साथ एक QpushButton बनाने के लिए कुछ मायनों की क्या ज़रूरत है की तरह शैलियाँ करने के लिए एक बटन की पृष्ठभूमि में बदलना:एक अलग आकार और kivy अजगर में छाया प्रभाव आदि
- छाया प्रभाव
- बना सेटफ्लैट गुणों को सही बनाने के द्वारा फ़्लैट करें।
- एक अलग तरह के कर्सर chaning अगर किसी pushButton_18.setCursor है जैसे कि यह पर घूमता (QtGui.QCursor (QtCore.Qt.PointingHandCursor))
मैं भी बटन व्यवहार kivy में समान बनाने के लिए देख रहा हूँ। क्या यह संभव है ? मुझे पता चला कि हम पृष्ठभूमि छवि को बदल सकते हैं गोल आकार Changing the background color of a Button in Kivy
के साथ एक छवि के लिए बदल दिया है, लेकिन इस कि संतोषजनक रूप में बटन अभी भी बहुत सामान्य लग रहा है नहीं है। कोई छाया प्रभावित नहीं है। यहां तक कि जब हम बटन के बाहर कोनों पर क्लिक करते हैं तो बटन का क्लिक होने पर इसका इलाज किया जाता है।
मैं किवी बटन के साथ-साथ लेबल के दस्तावेज के माध्यम से गया हूं और व्यवहार को बदलने और बटन को देखने की कोशिश की है। को प्रभावित
- पीछा: कैसे एक बटन नज़र बेहतर हम करने के लिए कोशिश कर सकते हैं बनाने के लिए पर कोई सलाह कर सकते हैं।
- हम एनीमेशन के लिए पृष्ठभूमि के रूप में ऐनिमेटेड gif छवियाँ रख सकते हैं (मैं कोशिश की थी कि लेकिन यह अब और एनिमेटेड एकदम चमक)
नीचे जो मैं सिर्फ Kivy में बटन में और अधिक की खोज के लिए बनाई गई एक कोड है:
__author__ = 'pbatra'
#Good info about background
#https://stackoverflow.com/questions/20181250/changing-the-background-color-of-a-button- in-kivy/20181407#20181407
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.properties import ObjectProperty
from kivy.uix.image import Image
from kivy.graphics import Color
gui = '''
<MenuScreen>:
canvas.before:
BorderImage:
# BorderImage behaves like the CSS BorderImage
border: 10, 10, 10, 10
texture: self.background_image.texture
pos: self.pos
size: self.size
GridLayout:
size_hint: .1, .1
pos_hint: {'center_x': .5, 'center_y': .5}
rows: 1
Button:
text: 'Play'
font_size: 20
font_name: 'DroidSans'
bold: True
italic: True
height: 10
background_color: (0.5, 0.7, 0.5, 0.9)
#Read more about them from documentation
background_normal: './images/orange.png'
background_down: './images/green.png'
border: 30,30,30,30
color: (1, .3, .8, .5)
on_press: self.text = 'Oh yeah'
'''
class MenuScreen(Screen):
background_image = ObjectProperty(
Image(
source='../Examples/examples/widgets/sequenced_images/data/images/button_white_animated.zip',
anim_delay=.5))
Builder.load_string(gui)
pass
# Create the screen manager
sm = ScreenManager()
sm.add_widget(MenuScreen(name='menu'))
class MyJB(App):
def build(self):
return sm
if __name__ == '__main__':
MyJB().run()
आपका उत्तर वास्तव में उपयोगी और मददगार है। मैं अभी भी यह पता लगाने की कोशिश कर रहा हूं कि जब मैंने background_normal और background_down के लिए .gif छवि का उपयोग करने का प्रयास किया, तो उसने एनीमेशन नहीं दिखाया, लेकिन आपका तरीका यह दिखा रहा है कि एनीमेशन। मैं अभी भी आपकी पोस्ट के लिए छाया प्रभाव सीखने की कोशिश कर रहा हूं .. क्या आपको पता है क्यों .gif ने पृष्ठभूमि_normal या background_down के लिए काम नहीं किया। –
डिफ़ॉल्ट रूप से बटन केवल एक कशेरुक निर्देश का उपयोग करता है .. सीमा कैनवास को चित्रित करने के लिए सीमा इमेज जो स्थिर लोड करता है और प्रदर्शित करता है (एनीमेशन के लिए समर्थन नहीं है, आपको इसे मैन्युअल रूप से संभालना होगा)। छवि विजेट हालांकि छवियों के साथ एक gif या azip देने के लिए समर्थन है जो इसे एनिमेट करता है। –