tkinter文本框对齐图像

时间:2013-05-27 00:34:46

标签: textbox tkinter

我在文本框中有一个图像(与4行文本具有相同的高度),我希望它旁边有4行文本。我将在第二行之后插入它,最后是第一行,然后是空行,接着是第二行,旁边有图像,更多是空行,然后是第3行。有没有办法获得理想的设置?

          -----------------            -----------------
          |Line 1 |       |            |Line 1 |       |
    Ideal |Line 2 | Image | what I get |Blank  |       |
          |Line 3 |       |            |Line 2 | Image |
          |Line 4 |       |            |Blank  |       |
          -----------------            |Line 3 |       |
                                       |Line 4 |       |
                                       -----------------

这是我到目前为止的代码。

textbox.insert(END, 'Line 1\n')
textbox.insert(END, 'Line 2')
self.img = PhotoImage(file='arrow.gif')
textbox.image_create(INSERT, image=self.img)
textbox.insert(END, '\n')
textbox.insert(END, 'Line 3\n')
textbox.insert(END, 'Line 4\n')

2 个答案:

答案 0 :(得分:0)

您正在尝试将“文本”窗口小部件用作网格,您可以在其中“跨越”多行/行,但可以使用文本行,因此嵌入的图像应属于多行以进行显示。即使您可以在Text对象中嵌入图像和小部件,我认为也不可能有这种布局。

答案 1 :(得分:0)

您无法通过文本小部件获得所需的行为。您无法将图像的一段文字包裹在图像的旁边或侧面。

如果您只想将一小段文本与图像对齐(而不是试图模仿商业文字处理器的行为),请将文本小部件和图像作为一个框架中的两个单独的小部件放置。将图像打包在右侧,将文本打包在左侧。