Как мне изменить размер текста в виджете метки, python tkinter [duplicate]

Пожалуйста, посмотрите пример LeftRight . Он предлагает два разных решения для вашей проблемы:

enter image description here [/g2]

Решение 1: Использовать клей

Клеем я имею в виду специальный Chunk, который действует как разделитель, который разделяет два (или более) других объекта Chunk:

Chunk glue = new Chunk(new VerticalPositionMark());
Paragraph p = new Paragraph("Text to the left");
p.add(new Chunk(glue));
p.add("Text to the right");
document.add(p);

Таким образом, вы будете иметь "Text to the left" с левой стороны и "Text to the right" справа .

Решение 2: используйте PdfPTable

Предположим, что в какой-то день кто-то попросит вас поставить что-то посредине, тогда использование PdfPTable доказательство:

PdfPTable table = new PdfPTable(3);
table.setWidthPercentage(100);
table.addCell(getCell("Text to the left", PdfPCell.ALIGN_LEFT));
table.addCell(getCell("Text in the middle", PdfPCell.ALIGN_CENTER));
table.addCell(getCell("Text to the right", PdfPCell.ALIGN_RIGHT));
document.add(table);

В вашем случае вам нужно только что-то слева и что-то вправо, поэтому вам нужно создать таблицу с двумя столбцами: table = new PdfPTable(2).

Если вы блуждаете по методу getCell(), это выглядит так:

public PdfPCell getCell(String text, int alignment) {
    PdfPCell cell = new PdfPCell(new Phrase(text));
    cell.setPadding(0);
    cell.setHorizontalAlignment(alignment);
    cell.setBorder(PdfPCell.NO_BORDER);
    return cell;
}

Решение 3: Обозначить текст

Это объясняется в ответе на этот вопрос: Как оправдывать текст с помощью iTextSharp?

Однако это приведет к странным результатам, как только в ваших строках будут пробелы. Например: он будет работать, если у вас есть "Name:ABC". Это не сработает, если вы "Name: Bruno Lowagie", когда "Bruno" и "Lowagie" будут двигаться в направлении середины, если вы оправдываете линию.

20
задан james hughes 6 June 2015 в 17:42
поделиться