İstek Pyton resmin üzerine gelince tooltip çıkmasını nasıl sağlayabilirim ?

Konu sahibinin aradığı materyalleri bulmasına yardımcı olmak için konuya yorum yazabilirsiniz.

al1h4nkvlc2

Üye
Üye
Mesaj
250
Çözümler
9
Beğeni
38
Puan
454
Ticaret Puanı
0
Python:
                {
                    "name" :"servercloseicon",
                    "type" : "expanded_image",
                    "x" : 83+15,
                    "y" : 40,
                    "image" : "locale/tr/ui/choise_close.tga",
                    "tooltip_text" :"Kapalı",
                },

loginwindow üzerine yazdım icon geliyor fakat fareyi sürüklediğimde herhangi bir tooltip gözükmüyor bunu direk "tooltip_text" : "....." , şeklindede denedim olmadı malesef

1637409880474.png
 
Son düzenleme:
Bu yaptığından sonra, locale_interface.txt ye TASKBAR_DISABLE eklediğinde olması gerek.
 
Böyle dener misin?

ui.py içerisinde;

Arat:
def LoadElementExpandedImage(self, window, value, parentWindow):

Tekrar Arat::
if True == value.has_key("mode"):
            mode = value["mode"]
            if "MODULATE" == mode:
                window.SetRenderingMode(wndMgr.RENDERING_MODE_MODULATE)

Altına Ekle::
if True == value.has_key("tooltip_text"):
            if True == value.has_key("tooltip_x") and True == value.has_key("tooltip_y"):
                window.SetToolTipText(value["tooltip_text"], int(value["tooltip_x"]), int(value["tooltip_y"]))
            else:
                window.SetToolTipText(value["tooltip_text"])
 
ui.py içerisinden expanded_image içerisine tooltip tanımlamanız gerek sanırım.
hocam dediğini yaptım fakat ui.py üzerinden
Kod:
LoginWindow.__LoadScript.LoadObject - <type 'exceptions.AttributeError'>:'ExpandedImageBox' object has no attribute 'ToolTipText'
syser alıyorum gittim ExpandedImageBox içerisine tanımladım
hala aynı syser veriyor

Python:
class ExpandedImageBox(ImageBox):
    def __init__(self, layer = "UI"):
        ImageBox.__init__(self, layer)

    def __del__(self):
        ImageBox.__del__(self)

    def RegisterWindow(self, layer):
        self.hWnd = wndMgr.RegisterExpandedImageBox(self, layer)

    def SetScale(self, xScale, yScale):
        wndMgr.SetScale(self.hWnd, xScale, yScale)

    def SetOrigin(self, x, y):
        wndMgr.SetOrigin(self.hWnd, x, y)

    def SetRotation(self, rotation):
        wndMgr.SetRotation(self.hWnd, rotation)

    def SetRenderingMode(self, mode):
        wndMgr.SetRenderingMode(self.hWnd, mode)

    def SetRenderingRect(self, left, top, right, bottom):
        wndMgr.SetRenderingRect(self.hWnd, left, top, right, bottom)

    def SetPercentage(self, curValue, maxValue):
        if maxValue:
            self.SetRenderingRect(0.0, 0.0, -1.0 + float(curValue) / float(maxValue), 0.0)
        else:
            self.SetRenderingRect(0.0, 0.0, 0.0, 0.0)

    def ShowToolTip(self):
        if self.ToolTipText:
            self.ToolTipText.Show()

    def HideToolTip(self):
        if self.ToolTipText:
            self.ToolTipText.Hide()

    def SetToolTipText(self, text, x=0, y = -19):
        self.SetFormToolTipText("TEXT", text, x, y)

    def SetFormToolTipText(self, type, text, x, y):
        if not self.ToolTipText:
            toolTip=createToolTipWindowDict[type]()
            toolTip.SetParent(self)
            toolTip.SetSize(0, 0)
            toolTip.SetHorizontalAlignCenter()
            toolTip.SetOutline()
            toolTip.Hide()
            toolTip.SetPosition(x + self.GetWidth()/2, y)
            self.ToolTipText=toolTip

        self.ToolTipText.SetText(text)

    def GetWidth(self):
        return wndMgr.GetWindowWidth(self.hWnd)

    def GetHeight(self):
        return wndMgr.GetWindowHeight(self.hWnd)
 
hocam dediğini yaptım fakat ui.py üzerinden
Kod:
LoginWindow.__LoadScript.LoadObject - <type 'exceptions.AttributeError'>:'ExpandedImageBox' object has no attribute 'ToolTipText'
syser alıyorum gittim ExpandedImageBox içerisine tanımladım
hala aynı syser veriyor

Python:
class ExpandedImageBox(ImageBox):
    def __init__(self, layer = "UI"):
        ImageBox.__init__(self, layer)

    def __del__(self):
        ImageBox.__del__(self)

    def RegisterWindow(self, layer):
        self.hWnd = wndMgr.RegisterExpandedImageBox(self, layer)

    def SetScale(self, xScale, yScale):
        wndMgr.SetScale(self.hWnd, xScale, yScale)

    def SetOrigin(self, x, y):
        wndMgr.SetOrigin(self.hWnd, x, y)

    def SetRotation(self, rotation):
        wndMgr.SetRotation(self.hWnd, rotation)

    def SetRenderingMode(self, mode):
        wndMgr.SetRenderingMode(self.hWnd, mode)

    def SetRenderingRect(self, left, top, right, bottom):
        wndMgr.SetRenderingRect(self.hWnd, left, top, right, bottom)

    def SetPercentage(self, curValue, maxValue):
        if maxValue:
            self.SetRenderingRect(0.0, 0.0, -1.0 + float(curValue) / float(maxValue), 0.0)
        else:
            self.SetRenderingRect(0.0, 0.0, 0.0, 0.0)

    def ShowToolTip(self):
        if self.ToolTipText:
            self.ToolTipText.Show()

    def HideToolTip(self):
        if self.ToolTipText:
            self.ToolTipText.Hide()

    def SetToolTipText(self, text, x=0, y = -19):
        self.SetFormToolTipText("TEXT", text, x, y)

    def SetFormToolTipText(self, type, text, x, y):
        if not self.ToolTipText:
            toolTip=createToolTipWindowDict[type]()
            toolTip.SetParent(self)
            toolTip.SetSize(0, 0)
            toolTip.SetHorizontalAlignCenter()
            toolTip.SetOutline()
            toolTip.Hide()
            toolTip.SetPosition(x + self.GetWidth()/2, y)
            self.ToolTipText=toolTip

        self.ToolTipText.SetText(text)

    def GetWidth(self):
        return wndMgr.GetWindowWidth(self.hWnd)

    def GetHeight(self):
        return wndMgr.GetWindowHeight(self.hWnd)
Tamam eksik kod varmış init fonksiyonunu atlamışım :D self.ToolTipText = None olarak ekledim initin altına ama hala tooltip çıkartamadım
 
Böyle dener misin?

ui.py içerisinde;

Arat:
def LoadElementExpandedImage(self, window, value, parentWindow):

Tekrar Arat::
if True == value.has_key("mode"):
            mode = value["mode"]
            if "MODULATE" == mode:
                window.SetRenderingMode(wndMgr.RENDERING_MODE_MODULATE)

Altına Ekle::
if True == value.has_key("tooltip_text"):
            if True == value.has_key("tooltip_x") and True == value.has_key("tooltip_y"):
                window.SetToolTipText(value["tooltip_text"], int(value["tooltip_x"]), int(value["tooltip_y"]))
            else:
                window.SetToolTipText(value["tooltip_text"])
Olmadı malesef :/
 
Böyle bir dener misin?
yine olmadı şimdi farkettim tooltipi butona atadım çalışıyor fakat neden resmin üstünde çalışmıyor anlamadım
Kod:
                {
                    "name" : "ServerExitButton",
                    "type" : "button",

                    "x" : 267,
                    "y" : SERVER_LIST_HEIGHT + 22,
                    "tooltip_text" :"testtesttest",

                    "default_image" : "d:/ymir work/ui/public/large_button_01.sub",
                    "over_image" : "d:/ymir work/ui/public/large_button_02.sub",
                    "down_image" : "d:/ymir work/ui/public/large_button_03.sub",

                    "text" : uiScriptLocale.LOGIN_SELECT_EXIT,
                },
test şeklinde denedim çalışıyor ama resimde tepki vermiyor
 
Geri
Üst