Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Viktor1703
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 15
1

Как изменить свойства окна, нажав на кнопку в нём?

16.07.2013, 21:52. Просмотров 1184. Ответов 4
Метки нет (Все метки)

Есть вот такое окно

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
 
import sys
from PyQt4 import QtGui
 
class Form(QtGui.QWidget):
    def __init__(self):
        super(Form, self).__init__(None)
        self.setWindowTitle("title")
        self.setFixedSize(600, 430)
        self.initComponents()
        self.show()
    def initComponents(self):
        print("components initialize")
 
if __name__ == '__main__':    
    app = QtGui.QApplication(sys.argv)
    frm = Form()
    sys.exit(app.exec_())
в какой - то момент (допустим по нажатию на кнопку) нужно изменить свойства окна чтобы оно могло изменять размеры с помощью мыши и появилась кнопка Maximize, как сделать? Пробовал применять флаги - кнопка Maximize появилась, но изменять размеры окна с помощью мыши не получилось.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 21:52
Ответы с готовыми решениями:

Как скрыть кнопку на form2, нажав на кнопку которая находится на form1
Как скрыть кнопку на form2, нажав на кнопку которая находится на form1? т.е. нажав на кнопку...

Как изменить свойства текущего окна браузера?
Как изменить свойства текущего окна браузера, например убрать toolbar, locaton, status и т.д. ?...

Как написать кнопку, чтобы нажав на кнопку она "примерно" находило совпадение
как написать кнопку в девел студио чтобы нажав на кнопку она "примерно" находило совпадение по мд5...

Как запустить лайтбокс в jQuery, нажав на кнопку?
Добрый день, есть галлерея на Lightbox 3: <div id="gal-1-wrap"> <a...

Как удалить динамические кнопки нажав на другую кнопку
Не могу удалить кнопки, которые создаются в button 2 и button 3 (plusRight и plusDown). Их нужно...

4
man0ngi
26 / 26 / 6
Регистрация: 19.10.2012
Сообщений: 131
17.07.2013, 09:00 2
может не стоит устанавливать размер функцией setFixedSize? есть методы setMinimumSize, setMaximumSize. Логично, что при фиксированном размере изменяться он не будет.
0
Viktor1703
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 15
17.07.2013, 10:24  [ТС] 3
Мне нужно устанавливать setFixedSize а далее от выбора пользователя будет зависеть, сможет ли окно изменять свои размеры или будет фиксированным, так сказать мне нужно делать это динамически.
0
man0ngi
26 / 26 / 6
Регистрация: 19.10.2012
Сообщений: 131
17.07.2013, 11:10 4
Цитата Сообщение от Viktor1703 Посмотреть сообщение
так сказать мне нужно делать это динамически.
Python
1
2
self.setMinimumSize(600, 430)
self.setMaximumSize(600, 430)
будет эквивалентно
Python
1
 self.setFixedSize(600, 430)
А вообще странная фича.
2
Viktor1703
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 15
17.07.2013, 11:20  [ТС] 5
Решил всё с помощью флагов

Убрать кнопку Maximize и возможность менять размеры

Python
1
2
self.setWindowFlags(QtCore.Qt.Window|QtCore.Qt.MSWindowsFixedSizeDialogHint)
self.resize(600, 430)
Добавить кнопку Maximize и возможность изменять размеры

Python
1
self.setWindowFlags(QtCore.Qt.Window)
Добавлено через 3 минуты
Цитата Сообщение от man0ngi Посмотреть сообщение
А вообще странная фича.
Возможно, допустим что это будет например какой нибудь Massanger, я не хочу раскидывать форму авторизации, регистрации и главную форму по разным окнам, мне бы например хотелось бы сделать всё в одном окне, просто при определённых условиях менять его контент и свойства окна.
0
17.07.2013, 11:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2013, 11:20

Как очистить всех textBox нажав на одну кнопку?
Есть 12 текстбоксов и нужно всех их очистить по нажатию на одну кнопку. Как это реализовать? Не...

Как сделать, чтобы нажав на кнопку, появиться Panel1, потом исчезнет!
Помогите! У меня есть Button1 Panel1 Timer1 У Panel1 по стандарту стоит Visible False...

Как удалить работаущий проект нажав кнопку на форму этого проекта?
как удалить работаущий проект нажав кнопку на форму этого проекта


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.