Добавьте пространство имен к элементам

См. Этот исправленный код.

Вам нужно добавить пробелы справа от вашего текста. Количество пустого пространства для добавления будет зависеть от ширины вашего tk.Button

Я пытался добавить опцию justify="left" для tk.Button, но не нашел ее полезной. Не уверен почему.

import tkinter as tk

root = tk.Tk()                                               
root.geometry('740x740+200+200') 

img = tk.PhotoImage(file="/Users/my_name/Documents/Wing101 Beispiele/button-2.png") 

text="TEST1                                                                                         "
testBtn1=tk.Button(root,fg="blue",image=img,text=text,compound=tk.CENTER,
                   command=lambda: TestLogic(0)).place(x=400, y=200) 

root.mainloop()
10
задан Mathias Müller 21 March 2014 в 16:12
поделиться

3 ответа

С foo.xml

<foo x="1">
    <bar y="2">
        <baz z="3"/>
    </bar>
    <a-special-element n="8"/>
</foo>

и foo.xsl

    <xsl:template match="*">
        <xsl:element name="{local-name()}" namespace="A" >
            <xsl:copy-of select="attribute::*"/>
            <xsl:apply-templates />
        </xsl:element>
    </xsl:template>

    <xsl:template match="a-special-element">
        <B:a-special-element xmlns:B="B">
            <xsl:apply-templates match="children()"/>
        </B:a-special-element>
    </xsl:template>

</xsl:transform>

Я добираюсь

<foo xmlns="A" x="1">
    <bar y="2">
        <baz z="3"/>
    </bar>
    <B:a-special-element xmlns:B="B"/>
</foo>

Это то, что Вы ищете?

13
ответ дан 3 December 2019 в 22:39
поделиться

Вот то, что я имею до сих пор:

<xsl:template match="*">
    <xsl:element name="{local-name()}" namespace="A" >
        <xsl:apply-templates />
    </xsl:element>
</xsl:template>

<xsl:template match="a-special-element">
    <B:a-special-element xmlns:B="B">
      <xsl:apply-templates />
    </B:a-special-element>
</xsl:template>

Это почти работает; проблема состоит в том, что это не копирует атрибуты. Из того, что я считал thusfar, xsl:element не имеет способа скопировать все атрибуты от элемента как есть (наборы атрибута использования, кажется, не сокращает его).

0
ответ дан 3 December 2019 в 22:39
поделиться

Вам будут нужны два основных ингредиента для этого рецепта.

Запас соуса будет идентификационными данными, преобразовывают, и основная разновидность будет дана namespace атрибут к xsl:element.

Следующий, непротестированный код, должно добавить пространство имен http://example.com/ ко всем элементам.

<xsl:template match="*">
  <xsl:element name="xmpl:{local-name()}" namespace="http://example.com/">
    <xsl:apply-templates select="@*|node()"/>
  </xsl:element>
</xsl:template>

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

Личное сообщение: Привет, Jeni Tennison. Я знаю, что Вы читаете это.

2
ответ дан 3 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: