LINUX.ORG.RU

Пропорциональное изменение размера виджета с изменением размера окна

 


0

1

Прошу прощения. Я новичок. Дайте конкретную ссылку на документацию по tkinter или PIL для кода по пропорциональному изменению размера виджета с изменением размера окна. Вот код: -------------------------------------------------- import os,sys from tkinter import * from PIL import Image from PIL.ImageTk import PhotoImage imgdir='C:\\Python33\\' #imgfile='devaytka.png' imgfile='WallFon1.gif' #imgfile='Dva_t.gif' if len(sys.argv)>1: imgfile=sys.argv[1] imgpath=os.path.join(imgdir,imgfile) win =Tk() win.title(imgfile) win.minsize(width = 700, height=600) imgobj=PhotoImage(file=imgpath) Label(win,image=imgobj).pack() print(imgobj.width(),imgobj.height()) win.mainloop() ------------------------------------------------------ Хотелось бы чтобы картинка сужалась вместе с размером окна, а не обрезалась.Надеюсь не подвергнуться абструкции со стороны продвинутых и гуру. Желательно изпользовать tkinter или PIL.


И не мучайся!

TestImage.py:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
from PyQt4 import QtCore, QtGui
from Widget import Ui_Widget
app = QtGui.QApplication(sys.argv)

class Widget(QtGui.QWidget):
   def __init__(self):
      QtGui.QWidget.__init__(self)

      self.ui = Ui_Widget()
      self.ui.setupUi(self)

      pixmap = QtGui.QPixmap("russians1.jpg")
      self.ui.label.setPixmap(pixmap)
      self.ui.label.setScaledContents(True)
      self.ui.label.setMinimumSize(50, 50)

mw = Widget()
mw.show()
app.exec_()

Widget.py:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'Widget.ui'
#
# Created: Sun May 24 16:43:39 2015
#      by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s

try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)

class Ui_Widget(object):
    def setupUi(self, Widget):
        Widget.setObjectName(_fromUtf8("Widget"))
        Widget.resize(400, 300)
        self.verticalLayout = QtGui.QVBoxLayout(Widget)
        self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
        self.label = QtGui.QLabel(Widget)
        self.label.setText(_fromUtf8(""))
        self.label.setObjectName(_fromUtf8("label"))
        self.verticalLayout.addWidget(self.label)

        self.retranslateUi(Widget)
        QtCore.QMetaObject.connectSlotsByName(Widget)

    def retranslateUi(self, Widget):
        Widget.setWindowTitle(_translate("Widget", "TestImage", None))

http://dropmefiles.com/zModA

EXL ★★★★★ ()
Ответ на: комментарий от MKuznetsov

Спасибо за ответ.

Я понимаю, что надо писать код.Сам Питон мертв без кода(как и любой язык). Просто не знаешь его возможностей(методов, библиотек и т.д.). Еще раз спасибо за ссылку на доп. инфу.

rosfor ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.