
На этом изображении встроенный фрейм находится ниже, заголовок — Язык: ржавчина. Это происходит, когда я прокручиваю вверх снизу.
Кроме того, это происходит только при определенных размерах окна, например, --width 900 --height 1000.
Это происходит вот как я добавляю встроенный фрейм (фрагмент):
Код: Выделить всё
def format_snippets(self) -> None:
from .snippet import Snippet
start_index = self.position
text = self.get(start_index, "end-1c")
pattern = r"^```([\w#]*)\n(.*?)\n```$"
matches = []
for match in re.finditer(pattern, text, flags=re.MULTILINE | re.DOTALL):
language = match.group(1)
content_start = match.start(2)
content_end = match.end(2)
matches.append((content_start, content_end, language))
for content_start, content_end, language in reversed(matches):
start_line_col = self.index_at_char(content_start, start_index)
end_line_col = self.index_at_char(content_end, start_index)
snippet_text = self.get(start_line_col, end_line_col)
self.delete(f"{start_line_col} - 1 lines linestart", f"{end_line_col} + 1 lines lineend")
snippet = Snippet(self, snippet_text, language)
self.window_create(f"{start_line_col} - 1 lines", window=snippet)
self.snippets.append(snippet)
Код: Выделить всё
def get_fraction(self, num_lines: int = 1) -> float:
total_lines = self.count("1.0", "end-1c lineend", "displaylines")[0]
fraction = num_lines / total_lines
return fraction
def scroll_up(self, check: bool = False) -> None:
fraction = self.get_fraction()
self.yview_moveto(self.yview()[0] - fraction)
Подробнее здесь: https://stackoverflow.com/questions/781 ... -sometimes