24 / 21 / 3
Регистрация: 04.11.2014
Сообщений: 283
1

Окно сообщения

16.01.2017, 18:34. Показов 783. Ответов 1

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Написал код, захотел дополнительно написать условие проверки на пустые поля, что бы выводило MessBox при наличии хотя бы одного пустого. Написал функцию show_modal_window, вызываю её в строке 54, но окно не выводит. Пожскажите, что не так, пожалуйста.


Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
import sys
import math as m
import numpy as np
from PyQt4 import QtGui, QtCore, uic
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
 
form_class = uic.loadUiType("GUI.ui")[0]
 
class Window(QtGui.QMainWindow, form_class):
 
    fig = Figure()
 
    def __init__(self):
        super(Window, self).__init__()
        self.setupUi(self)
        self.procedure()
        self.show()
 
    def procedure(self):
 
        self.axes = self.fig.add_axes([0.05, 0.05, 0.87, 0.87], polar=True)
        self.axes.set_theta_direction(-1)
        self.axes.set_theta_offset(m.pi / 2.0)
        self.canvas = FigureCanvas(self.fig)
        self.grph.addWidget(self.canvas)
        self.canvas.draw()
        self.toolbar = NavigationToolbar(self.canvas, self, coordinates=True)
        self.addToolBar(self.toolbar)
 
        self.EnterButton.clicked.connect(self.ClickEnter)
        self.ClearButton.clicked.connect(self.ClickClear)
 
    def show_modal_window(self):
 
        self.modalWindow = QtGui.QWidget()
        modalWindow.setWindowTitle("Error, empty enter variables")
        modalWindow.resize(200, 50)
        button = QtGui.QPushButton("Ok", modalWindow)
        button.setFixedSize(150, 30)
        button.move(75, 20)
        QtCore.QObject.connect(button, QtCore.SIGNAL("clicked()"), modalWindow, QtCore.SLOT("close()"))
        modalWindow.setWindowModality(QtCore.Qt.WindowModal)
        modalWindow.setAttribute(QtCore.Qt.WA_DeleteOnClose, True)
        modalWindow.show()
 
    def ClickEnter(self):
 
        RadEarth = 8500
        HeightCentreDish = int(self.lineEdit_HCD.text())
        EffectReflectSurface = int(self.lineEdit_ER.text())
        if HeightCentreDish and EffectReflectSurface == 0:
            show_modal_window(self)
 
        flag = self.CheckBoxGround.isChecked()
        TargetHeight = int(self.BoxHeight.currentText())
 
 
        lag = m.pi / 36.
        angles = np.arange(0, 2 * m.pi, lag)
 
        AllAng = []
        fang = open("angles.txt", mode='r')
        for LineFileFang in fang.readlines():
            angRadians = m.radians(int(LineFileFang) / 60)
            AllAng.append(angRadians)
 
        AllTrouble = []
        file_height_trouble = open("height_trouble.txt", mode='r')
        for LineFileHeightTrouble in file_height_trouble.readlines():
            AllTrouble.append(int(LineFileHeightTrouble))
 
        AllDist = []
        AB = m.asin(RadEarth / (RadEarth + HeightCentreDish * 0.001)) - m.pi / 2
        for i in range(len(angles)):
 
            if flag:
                if AllTrouble[i] != 0:
                    AA = m.atan((AllTrouble[i] * m.tan(AllAng[i]) - HeightCentreDish) / AllTrouble[i])
                else:
                    AA = m.atan((100 * m.tan(AllAng[i]) - HeightCentreDish) / 100)
            else:
                AA = AllAng[i]
 
            if AA < AB:
                TemporaryLvalue = AB + m.pi / 2
            else:
                TemporaryLvalue = AA + m.pi / 2
 
            temp1 = RadEarth + HeightCentreDish * 0.001
 
            temp2 = RadEarth + TargetHeight * 0.001
 
            D = m.floor(m.sqrt(temp1 ** 2 + temp2 ** 2 - 2 * temp1 * temp2 * m.cos(
                m.pi - m.asin(temp1 * m.sin(TemporaryLvalue) / temp2) - TemporaryLvalue)) * 0.9 * EffectReflectSurface ** (1 / 4))
            AllDist.append(D)
 
        self.axes.set_theta_direction(-1)
        self.axes.set_theta_offset(m.pi / 2.0)
        self.axes.set_xticks(np.arange(0, 2 * m.pi, m.pi / 36))
        temp_color = np.random.rand(3,1)
        temp = self.axes.plot(angles, AllDist, color=temp_color, linewidth=1)
        self.axes.plot((angles[-1], angles[0]), (AllDist[-1], AllDist[0]), color=temp_color, linewidth=1.)
 
        self.canvas.draw()
 
    def ClickClear(self):
        self.axes.cla()
        self.canvas.draw()
 
def run():
    app = QtGui.QApplication(sys.argv)
 
    GUI = Window()
    app.exec_()
 
if __name__ == "__main__":
    run()
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2017, 18:34
Ответы с готовыми решениями:

Окно сообщения
Дело такое есть код Delphi procedure TForm4.Button1Click(Sender: TObject); begin...

Не выводится окно сообщения
Здравствуйте!:) Получила задание следующего характера (автоматизированное тестирование): Со...

не закрывается окно сообщения
окно сообщения которое формируется для элемента &lt;div id=&quot;altt&quot;&gt; ...

Всплывающее окно сообщения и BD
В базе появляется новое сообщение, которое выводится файлом file.php (&quot;Новое Сообщение&quot;)!!! Нужно...

Отправка сообщения в окно
Привет ) есть окно с TextBox &lt;Grid&gt; &lt;Grid.RowDefinitions&gt; &lt;RowDefinition...

1
Эксперт Python
4614 / 2035 / 359
Регистрация: 17.03.2012
Сообщений: 10,102
Записей в блоге: 6
17.01.2017, 10:19 2
Лучше использовать QDialog с setModal. Да и кнопки готовые в нем есть.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2017, 10:19
Помогаю со студенческими работами здесь

Модальное окно сообщения
Подскажите код, для того чтобы модальное окно сообщения открывалось при раскрытии страницы сайта!

Окно сообщения из DataGridView
Добрый день уважаемые форумчане, нужна ваша помощь. проблема заключается в следующем: есть...

Какие сообщения шлет окно
2.как часто шлет окно сообщения юзерскому коду. WM_COMMAND - что это за сообщение? WM_CREATE -...

Копирование сообщения из ВК в обычное окно
В общем хочу попробовать реализовать простое приложение. Есть frame, в нем поле вывода и кнопка....

HP 1018 сворачивает окно сообщения
Добрый день. Печать на принтер HP 1018. Печать двухсторонняя, буклет слева. Если пользователь...

Как подвесить окно сообщения?
Подскажите как подвесить окно сообщения , типа 'Ждите, идет выполнение программы', пока у меня...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru