С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521

Диалог в Qt Designer

12.09.2020, 14:30. Показов 4062. Ответов 24

Студворк — интернет-сервис помощи студентам
Добрый день! Помогите, пожалуйста! Создала в Qt Designer диалог. Назвала файл Ui_My_dialog_ui.ui. В коде создала для него класс My_dialog. В классе MyWidget в функции func_dialog создаю объект класса My_dialog.

1)​Как исправить, что после закрытия окна диалога, всё приложение закрывается с ошибкой (Process finished with exit code -1073741819 (0xC0000005))?

2)​Как сделать, чтобы когда нажимаешь на кнопку в диалоге, вызывалась функция func_with_par и ей передавалось значение self._my_value?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class MyWidget(..):
 
def func_with_par(self, par):
    …
 
def func_dialog(self):
    dialog_wgt = My_dialog()
    self._my_value = dialog_wgt.ui…     dialog_wgt.ui.myButton.clicked.connect(self.func_with_par)
    dialog_wgt.exec()
 
class My_dialog():
    def init(self):
        super().__init__()
        self._setup_ui()
 
    def _setup_ui(self):
        self.ui = Ui_My_dialog()
        self.ui.setupUi(self)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2020, 14:30
Ответы с готовыми решениями:

PyQt5: в Qt Designer Диалог открытия и сохранения файлов?
Добрый день! Есть ли в PyQt5 в Qt Designer Диалог открытия и сохранения файлов? Или нужно отдельно его добавлять?

Qt Designer и диалог правки стилей
Можно ли как нибудь сделать сделать диалог таблицы стилей сделать не модальным?

Digital Designer / Interface Designer for top company in Munich / Germany. Non EU applicants very welcome, we sponsor Visa!
Digital Designer / Interface Designer (Web, Mobile & Tablet) Digital Designer needed to join popular digital agency based in Munich -...

24
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
12.09.2020, 14:58
Simply me, скопипасть сюда код целиком, без всяких сомнительных сокращений.
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
12.09.2020, 17:01  [ТС]
Там в проекте больше 100 файлов. Мне кажется, всё, что имеет значение, я оставила.

Просто принцип хочу понять, как сделать, чтобы после завершения функции, в которой создается объект диалога, после закрытия этого диалога всё приложение не вылетало.

И если в диалоге пользователь ввел значение и нажал кнопку, то как передать это значение в функцию, которая вызывается по кнопке.
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
13.09.2020, 06:36  [ТС]
Сократила немного код. Функцию func_dialog и класс My_dialog полностью привожу. Скажите, пожалуйста, как исправить, чтобы при закрытии диалога приложение не вылетало с ошибкой.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
class MyWidget(..):
    def func_dialog(self):
        dialog_wgt = My_dialog()
        dialog_wgt.exec()
 
class My_dialog(QDialog):
    def init(self):
        super().__init__()
        self._setup_ui()
 
    def _setup_ui(self):
        self.ui = Ui_My_dialog()
        self.ui.setupUi(self)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
13.09.2020, 08:49
Это что?
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
13.09.2020, 12:00  [ТС]
Цитата Сообщение от iSmokeJC Посмотреть сообщение
Это что?
Отнаследован от наследника QtGui.QWidget. Ну можно считать, что от самого QtGui.QWidget. С этим наследником всё нормально.
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
13.09.2020, 12:39
Цитата Сообщение от Simply me Посмотреть сообщение
Просто принцип хочу понять, как сделать, чтобы после завершения функции, в которой создается объект диалога, после закрытия этого диалога всё приложение не вылетало.
И если в диалоге пользователь ввел значение и нажал кнопку, то как передать это значение в функцию, которая вызывается по кнопке.
Python
1
2
3
    d = QInputDialog()
    ret = d.exec()
    print(ret,d.textValue())
Добавлено через 14 минут
вот пример диалога
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Dialog(QDialog):
    def __init__(self,parent=None):
        super().__init__(parent)
        self.edit = QTextEdit()
        self.btnOk = QPushButton('Ok')
        self.btnCancel = QPushButton('Cancel')
        grid = QGridLayout(self)
        grid.setContentsMargins(0,0,0,0)
        grid.addWidget(self.edit,0,0,4,4)
        grid.addWidget(self.btnOk,4,0,1,1)
        grid.addWidget(self.btnCancel,4,1,1,1)
        self.btnOk.clicked.connect(self.accept)
        self.btnCancel.clicked.connect(self.reject)
        
    def getText(self):
        return self.edit.toPlainText()
 
if __name__ == '__main__':
    app = QApplication([])
    d = Dialog()
    ret = d.exec()
    print(ret,d.getText())
1
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
13.09.2020, 13:48  [ТС]
У меня форма диалога создается в Qt Designer. В коде для него есть класс, в котором вызываю setupUi. Диалог создается в функции класса MyWidget и существует, пока выполняется эта функция. Не знаю, как передать значение из диалога в другую функцию класса MyWidget, даже если сначала сохранить его в поле класса MyWidget. И не знаю, как сделать, чтобы приложение не закрывалось, когда диалог закрываю.

И в Вашем примере d.exec() = 1, а у меня dialog_wgt.exec() = 0
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
13.09.2020, 17:15
1 - Ok, 0 - Cancel стандартно. сохранение - getText() в моем примере
0
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
13.09.2020, 18:49  [ТС]
Сейчас просто открыла Qt Designer, выбрала один из виджетов, предлагаемых по умолчанию, ничего вообще не меняла, сохранила. В классе My_dialog в функции setup_ui поменяла имя как objectName в файле ui. Тоже самое: когда закрыла окно диалога, приложение завершилось с ошибкой. Не знаю, как создать диалог в функции
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
13.09.2020, 23:00
открываю дизайнер, делаю диалог - получаю ui файл.
делаю
pyuic5 dlg.ui -o dlg.py
получаю py файл
чота вы путаете
dlg.ui
XML
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
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Dialog</class>
 <widget class="QDialog" name="Dialog">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>481</width>
    <height>340</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>Dialog</string>
  </property>
  <layout class="QGridLayout" name="gridLayout">
   <item row="0" column="0">
    <widget class="QPlainTextEdit" name="plainTextEdit"/>
   </item>
   <item row="1" column="0">
    <widget class="QDialogButtonBox" name="buttonBox">
     <property name="orientation">
      <enum>Qt::Horizontal</enum>
     </property>
     <property name="standardButtons">
      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
     </property>
    </widget>
   </item>
  </layout>
 </widget>
 <resources/>
 <connections>
  <connection>
   <sender>buttonBox</sender>
   <signal>accepted()</signal>
   <receiver>Dialog</receiver>
   <slot>accept()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>248</x>
     <y>254</y>
    </hint>
    <hint type="destinationlabel">
     <x>157</x>
     <y>274</y>
    </hint>
   </hints>
  </connection>
  <connection>
   <sender>buttonBox</sender>
   <signal>rejected()</signal>
   <receiver>Dialog</receiver>
   <slot>reject()</slot>
   <hints>
    <hint type="sourcelabel">
     <x>316</x>
     <y>260</y>
    </hint>
    <hint type="destinationlabel">
     <x>286</x>
     <y>274</y>
    </hint>
   </hints>
  </connection>
 </connections>
</ui>
dlg.py
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
# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'dlg.ui'
#
# Created by: PyQt5 UI code generator 5.14.0
#
# WARNING! All changes made in this file will be lost!
 
 
from PyQt5 import QtCore, QtGui, QtWidgets
 
 
class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(481, 340)
        self.gridLayout = QtWidgets.QGridLayout(Dialog)
        self.gridLayout.setObjectName("gridLayout")
        self.plainTextEdit = QtWidgets.QPlainTextEdit(Dialog)
        self.plainTextEdit.setObjectName("plainTextEdit")
        self.gridLayout.addWidget(self.plainTextEdit, 0, 0, 1, 1)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")
        self.gridLayout.addWidget(self.buttonBox, 1, 0, 1, 1)
 
        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
 
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
 
 
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())
1
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
14.09.2020, 00:19
Может быть это вам поможет?
Хлтя, конечно, не Qt Designer, но всё-таки даёт представление о том, каким образом можно вернуть из функции изменённые в диалоге параметры

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
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
 
def customSetParam(client, volume: int):
    customDialog = probeDialog(client, volume)
    customDialog.exec()
    return int(customDialog.pVolume)
 
 
class probeDialog(QDialog):
    def __init__(self, parent=None, volume=0):
        super(probeDialog, self).__init__(parent)
        self.pVolume = str(volume)
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle("Введите")
        nameParam = QLabel("Параметр")
        self.valueParam = QLineEdit()
        self.valueParam.setInputMask("999999")
        self.valueParam.setText(self.pVolume)
        saveButton = QPushButton("Сохранить и выйти")
        exitButton = QPushButton("Выйти без сохранения")
 
        hbox1 = QHBoxLayout()
        hbox1.addWidget(nameParam)
        hbox1.addWidget(self.valueParam)
 
        hbox2 = QHBoxLayout()
        hbox2.addWidget(saveButton)
        hbox2.addWidget(exitButton)
 
        mainLayout = QVBoxLayout()
        mainLayout.setSpacing(6)
        mainLayout.addLayout(hbox1)
        mainLayout.addStretch(1)
        mainLayout.addLayout(hbox2)
 
        self.setLayout(mainLayout)
 
        saveButton.clicked.connect(self.to_save)
        exitButton.clicked.connect(self.to_exit)
 
    def to_save(self):
        self.pVolume = self.valueParam.text()
        self.close()
 
    def to_exit(self):
        self.close()
 
 
class probeMainWindow(QMainWindow):
    def __init__(self, parent=None):
        super().__init__()
        self.currentParam = 0
        self.initUI()
 
    def initUI(self):
        screen = QDesktopWidget().availableGeometry()
        self.setGeometry(int(screen.width()/4), int(screen.height()/4),
                         int(screen.width()/2), int(screen.height()/2))
 
        self.setWindowTitle("The Dialog Probe v0.001")
        self.statusBar()
 
        exitAction = QAction("Выйти", self, shortcut="Ctrl+Q",
                             triggered=self.to_close, enabled=True)
        setAction = QAction("Параметры", self,
                            triggered=self.to_set, enabled=True)
 
        taskMenu = self.menuBar().addMenu("Задачи")
        taskMenu.addAction(exitAction)
        taskMenu.addAction(setAction)
 
    def to_close(self):
        self.close()
 
    def to_set(self):
        self.currentParam = customSetParam(self, self.currentParam)
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWin = probeMainWindow()
    mainWin.show()
    sys.exit(app.exec_())
1
 Аватар для Simply me
244 / 37 / 8
Регистрация: 05.05.2012
Сообщений: 521
14.09.2020, 06:38  [ТС]
iamvic, спасибо. Попробую, когда приложение перестанет падать.

vic5710, спасибо. У Вас диалог создается в блоке if __name__ == "__main__". Если Вы в блоке if __name__ == "__main__ создадите любой другой виджет (можно не в дизайнере), у которого будет кнопка (или пункт меню), при нажатии на которую (который) будет вызываться функция и в ней будет создаваться диалог из дизайнера, при закрытии диалога у Вас будет падать всё приложение?
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
14.09.2020, 08:10
Simply me,

1) Не использовать QtDesigner.
2) Чтобы передать данные в другой виджет, можно использовать сигналы или атрибуты класса.
3) Для вызова функции с каким то определенным параметром через события, можно использовать слоты, либо лямбды.
1
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
14.09.2020, 08:17
Остаётся только пожелать вам удачи. Понятно, что вы не можете раскрыть чувствительную информацию о реальном проекте. Ну сляпайте вместе c Qt Designer-ом какую-нибудь левую демонстраху с таким же эффектом, чтобы можно было понять, что происходит-то.
Ведь ошибочка-то 0xC0000005 весьма неприятная - STATUS ACCESS VIOLATION называется в терминах Microsoft. Добиться её в этом паровозе приложение->python->PyQt->Qt->ОС весьма непросто, надо сделать что-то уж совсем запредельное. Ну и при возникновении такого рода ошибок неплохо было озвучивать версии ОС, Qt, PyQt и python, чтобы как-то сориентировать людей о своём окружении.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
14.09.2020, 08:24
DmFat верно сказал - зачем использовать дизайнер, если там элементарнейший диалог? Вручную и наглядней, и наверняка, и лишнего файла не надо...
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
14.09.2020, 08:29
iSmokeJC, да даже если это огромное окно с 1.000 кнопок, я не вижу вообще смысл использовать дизайнер, во первых - код просто становится не читабельный если конвертировать из *.ui в *.py, во вторых - это лишние файлы, в третьих - понять что, где и как работает будет вызывать панические атаки и истерический смех.
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
14.09.2020, 08:38
DmFat, согласен

Добавлено через 1 минуту
Просто привыкли к формошлепству, как в дельфях и шарпах разных, вот и результат.

Добавлено через 4 минуты
Кстати о птичках.
Если по уму, в дизайнере можно создать вполне самодостаточную форму, не требующую привязанного класса. Достаточно в каком-либо своем классе-наследнике от QObject приконнектиться и отлавливать нужное слотом.


Добавлено через 1 минуту
Цитата Сообщение от iSmokeJC Посмотреть сообщение
не требующую привязанного класса
Я имел ввиду именно то, что сейчас делает ТС
0
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,763
14.09.2020, 11:42
Цитата Сообщение от Simply me Посмотреть сообщение
Если Вы в блоке if __name__ == "__main__ создадите любой другой виджет (можно не в дизайнере), у которого будет кнопка (или пункт меню), при нажатии на которую (который) будет вызываться функция и в ней будет создаваться диалог из дизайнера, при закрытии диалога у Вас будет падать всё приложение?
ничего не падает
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
class Dialog(QDialog):
    def __init__(self,parent=None):
        super().__init__(parent)
        self.edit = QTextEdit()
        self.btnOk = QPushButton('Ok')
        self.btnCancel = QPushButton('Cancel')
        grid = QGridLayout(self)
        grid.setContentsMargins(0,0,0,0)
        grid.addWidget(self.edit,0,0,4,4)
        grid.addWidget(self.btnOk,4,0,1,1)
        grid.addWidget(self.btnCancel,4,1,1,1)
        self.btnOk.clicked.connect(self.accept)
        self.btnCancel.clicked.connect(self.reject)
        
    def getText(self):
        return self.edit.toPlainText()
        
class W(QWidget):
    def __init__(self):
        super().__init__()
        btn = QPushButton('Click',self)
        btn.clicked.connect(self.on_click)
    def on_click(self):
        d= Dialog()
        ret = d.exec()
        print(ret,d.getText())
 
if __name__ == '__main__':
    app = QApplication([])
    w = W()
    w.show()
    app.exec_()
1
290 / 205 / 68
Регистрация: 18.09.2019
Сообщений: 407
Записей в блоге: 58
14.09.2020, 15:12
А вот сама идея - вызывать диалог в отдельной посторонней функции и потом вытрясывать из него отредактированные параметры - она правильная? Может лучше сделать функцию класса, наподобии QMessageBox.critical() и прочих public static members, тем более класс-то диалога самописный. Ну, потребуется кому-нибудь изменить значение параметра, дёрнет он эту функцию класса... и всё красиво, всё внутри класса. И только новое значение наружу вылетает, которое вызвавший может засунуть туда куда ему надо.
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
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
 
class probeDialog(QDialog):
    def __init__(self, parent=None, volume=0):
        super(probeDialog, self).__init__(parent)
        self.pVolume = str(volume)
        self.initUI()
 
    def initUI(self):
        self.setWindowTitle("Введите")
        nameParam = QLabel("Параметр")
        self.valueParam = QLineEdit()
        self.valueParam.setInputMask("999999")
        self.valueParam.setText(self.pVolume)
        self.valueParam.setCursorPosition(0)
        saveButton = QPushButton("Сохранить и выйти")
        exitButton = QPushButton("Выйти без сохранения")
 
        hbox1 = QHBoxLayout()
        hbox1.addWidget(nameParam)
        hbox1.addWidget(self.valueParam)
 
        hbox2 = QHBoxLayout()
        hbox2.addWidget(saveButton)
        hbox2.addWidget(exitButton)
 
        mainLayout = QVBoxLayout()
        mainLayout.setSpacing(6)
        mainLayout.addLayout(hbox1)
        mainLayout.addStretch(1)
        mainLayout.addLayout(hbox2)
 
        self.setLayout(mainLayout)
 
        saveButton.clicked.connect(self.to_save)
        exitButton.clicked.connect(self.to_exit)
 
    def to_save(self):
        self.pVolume = self.valueParam.text().strip()
        if self.pVolume is None or self.pVolume == "":
            self.pVolume = "0"
        self.close()
 
    def to_exit(self):
        self.close()
 
    def probeSetParam(self, pVolume):
        customDialog = probeDialog(self, pVolume)
        customDialog.exec()
        return int(customDialog.pVolume)
 
 
class probeMainWindow(QMainWindow):
    def __init__(self, parent=None):
        super().__init__()
        self.currentParam = 0
        self.initUI()
 
    def initUI(self):
        screen = QDesktopWidget().availableGeometry()
        self.setGeometry(int(screen.width()/4), int(screen.height()/4),
                         int(screen.width()/2), int(screen.height()/2))
 
        self.setWindowTitle("The Dialog Probe v0.002")
        self.statusBar()
 
        exitAction = QAction("Выйти", self, shortcut="Ctrl+Q",
                             triggered=self.to_close, enabled=True)
        setAction = QAction("Параметры", self,
                            triggered=self.to_set, enabled=True)
 
        taskMenu = self.menuBar().addMenu("Задачи")
        taskMenu.addAction(exitAction)
        taskMenu.addAction(setAction)
 
    def to_close(self):
        self.close()
 
    def to_set(self):
        self.currentParam = probeDialog.probeSetParam(self, self.currentParam)
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    mainWin = probeMainWindow()
    mainWin.show()
    sys.exit(app.exec_())
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.09.2020, 15:12
Помогаю со студенческими работами здесь

Как создать диалог выбора шрифта и диалог выбора цвета
как создать диалог выбора шрифта и диалог выбора цвета в wpf

Qt designer
Добрый день.Работаю в Qtdesigner и хочу менять изображения,используя horizontalScrollBar.Подскажите какой метод используется в этом виджете...

Designer
Здравствуйте. В какой версии pyqt есть qt designer или pyqt-tools ? Collecting pyqt5-tools Could not find a version that satisfies...

Qt Designer
У меня вот такой вопрос возник. Я смотрел учебники по Qt и там появился Qt Designer. Так вот сам вопрос ,а есть ли смысл в написании кода...

QT Designer
Здравствуйте всем!!!! Подскажите пожалуйста как можно в Qt строку, введенную пользователем, перевести в символьный массив для...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru