Форум сайта python.su
Всем доброго времни суток. Только начал осваивать Питона. Потратил два дня на поиски инфы и вот решил обратиться к гуру. Вопрос:
Как в tkinter можно получить текущие значения размеров окна root=Tk()?
window_size_Y=root.winfo_screenheight()
window_size_X=root.winfo_screenwidth()
Возвращает разрешение дисплея, хочу что-то подобное для окна.
Заранее спасибо.
Отредактировано Infineon (Дек. 8, 2015 16:56:13)
Офлайн
.winfo_width()
Отредактировано 4kpt_III (Дек. 8, 2015 17:14:57)
Офлайн
Что-то не так :-( Ошибок не выдает, но и считает неправильно. Вместо 320, пишет 1.
from tkinter import * #подключаем графический модуль tkinter root=Tk() #создаем главное окно с названием root #root.attributes('-fullscreen',1) # полный экран без командной строки #root.state("zoomed") # полный экран с командной строкой root.geometry('480x320+200+200') # задаем размер главного окна и его расположение root.config(bg="black") # цвет заливки основного окна #root["bg"]="black" # альтернативная запись предыдущей команды #screen_size_X=root.winfo_screenwidth() # получаем ширину экрана #screen_size_Y=root.winfo_screenheight() # получаем высоту экрана window_size_X=root.winfo_width() window_size_Y=root.winfo_height() fsize=round(window_size_Y/3) #рассчитываем и округляем размер шрифта Label_1=Label(root) # создаем объект надпись в главном окне Label_1.pack() # размещаем объект надпись в окне (визуализируем) Label_1.config(bg="black") # цвет фона надписи Label_1.config(font=("Arial", fsize)) # шрифт и размер шрифта надписи Label_1.config(fg="white") # цвет шрифта Label_1.config(text=str(window_size_Y)) # выводим значение размера Y #Label_1.config(text="00:00") # пишем текст в надписи root.mainloop() # цикл
Отредактировано Infineon (Дек. 9, 2015 15:57:15)
Офлайн
Перед получением размеров сделайте
root.update_idletasks()
Офлайн
Спасибо! Заработало!
Офлайн
Здравствуйте! Подскажите пожалуйста.
Есть овал:
from tkinter import * root = Tk() root.geometry('600x650+2100+350') canvas = Canvas(root, width=600, height=650) canvas.pack(fill=BOTH, expand=1) canvas.create_oval(20, 20, 580, 580, fill="grey50") root.mainloop()
#!/usr/bin/python3 # -*- coding: utf-8 -*- from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import ( QApplication, QWidget, QLabel, QLCDNumber ) from PyQt5.QtCore import ( QTime, QTimer ) class Clock(QLCDNumber): def __init__(self, digits=8, parent=None): super(Clock, self).__init__(digits, parent) self.setWindowTitle("Цифровые часы") self.timer = QTimer() self.timer.timeout.connect(self._update) self.timer.start(1000) self.setWindowIcon(QIcon('Clock_2.png')) def _update(self): time = QTime.currentTime().toString() self.display(time) if __name__ == '__main__': import sys app = QApplication([]) w = Clock() w.show() w.resize(300, 100) sys.exit(app.exec_())
Отредактировано Bugap (Июль 14, 2016 22:27:36)
Офлайн