|
|
|
Железный канал: «Вопросница #3» |
|
|
AlexYar 1856 EGP
Рейтинг канала: 3(34) Репутация: 324 Сообщения: 31707
Зарегистрирован: 26.10.2003 |
|
Tven : |
От чего такая маленькая разница?
|
От того, что основное время "загрузки" идёт не чтение данных с диска, а их обработка.
А обработка у разных разработчиков может быть как кривой, так и очень кривой. У беседки в Фаллоут-4, например, чем мощнее и новее комп - тем медленнее загрузки Поможет (в ф4) только загрузочный акселератор, который во время загрузок отключает вертикальную синхронизацию.
В иксах (хребет, х4) время загрузки от скорости жёстких дисков тоже почти не зависит.
|
|
|
Bobbi86 50 EGP Репутация: 0 Сообщения: 4
Зарегистрирован: 21.11.2022 |
|
Tven : |
Если я снизу в передней части корпуса поставлю кулер на вдув, то как намного снижу температура в тяжелых играх видеокарты и SSD. На 2-3 градуса (тогда и заморачиваться не стоит) или больше? На сколько больше?
|
Да кто ж вам скажет) Проверять надо. Поставьте, сделайте несколько замеров и все будет понятно. Эффекта не будет- уберете или оставите, благо, цена невелика и делов на несколько минут. Ну а так, температура 48 градусов для ssd совсем не страшно. Бывает и больше разгоняется. Так что может не стоит и заморачиваться.
|
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
В PyQT диалоговое окно только через отдельный класс можно забацать что ли? Кучу туториалов перерыл - везде одно и то же.
_________________ 55.811115, 51.724584 |
|
|
AnrDaemon 860 EGP
Рейтинг канала: 8(787) Репутация: 37 Сообщения: 12301
Зарегистрирован: 17.10.2004 |
|
Какая именно "одна и та же" ? Может, там вопрос не в чтении с диска? Может, она банально ждёт отклика от удалённых серверов эту минуту?
добавлено спустя 1 минуту:
Гарри Портер : |
В PyQT диалоговое окно только через отдельный класс можно забацать что ли? Кучу туториалов перерыл - везде одно и то же.
|
Во всех нормальных языках каждое окно это отдельный класс.
_________________ Люблю свободный полёт... :)
Последний раз редактировалось: AnrDaemon (16:51 21-11-2022), всего редактировалось 1 раз |
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
Ну хз. Если в том же ткинтер делать, то нужно лишь импортировать модуль TFileDialog и можно уже напрямую обращаться к нему.
А через QT нужно городить классы, через это вызывать главное окно как то через жопу.
Хотя я только начал, может не все так запущено на самом деле как кажется.
_________________ 55.811115, 51.724584 |
|
|
AnrDaemon 860 EGP
Рейтинг канала: 8(787) Репутация: 37 Сообщения: 12301
Зарегистрирован: 17.10.2004 |
|
Это стандартные диалоги. Немного другой момент.
В Qt тоже они есть, просто нужно поискать.
_________________ Люблю свободный полёт... :) |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Гарри Портер : |
А через QT нужно городить классы, через это вызывать главное окно как то через жопу.
|
Не обязательно ничего городить. Можно создать пустой QDialog, напихать в него вручную лейауты, кнопки, все что хочешь. Вручную же все сигналы попривязывать куда надо.
Но умные люди придумали все это делать в отдельном классе, чтобы не засирать код основного окна всякой второстепенной шелухой.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
Погоди. Т.е. мне чтобы использовать стандартные диалоги надо просто сделать дополнительную скрытую форму и там описать этот класс? А с основной формы путем импорта сделать вызов этой функции?
_________________ 55.811115, 51.724584 |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Гарри Портер : |
Т.е. мне чтобы использовать стандартные диалоги надо просто сделать дополнительную скрытую форму и там описать этот класс?
|
ШО?!
Какая форма, какой класс? Стандартные диалоги на то и стандартные, что они уже готовы. Примеры стандартных диалогов - это мессаджбокс, диалог выбора файла, диалог выбора директории, и т. п.
Что касается нестандартных диалогов, то не знаю как там в pyqt, а в обычном кути это делается так:
- дизайним форму диалога, накидываем на нее контролов всяких. Обязательно - кнопки ok и отмена.
- пишем класс, который этот диалог показывает, обрабатывает в нем сигналы (нажатия на кноповки и т.п.) и подчищает, если что-то надо. В этом же классе сохраняются результаты (чего там наш юзер навводил).
- в основной программе, когда нам надо показать диалог, мы создаем экземпляр этого нашего нового класса и вызывавем на нем exec(). А потом обрабатываем результат: если юзер вышел из диалога по кнопке ok, то вычитываем из объекта, чего там нам юзер навводил,а если он нажал cancel или закрыд диалог крестиком - ну значит юзер отказался от ввода данных.
Что-то мне подсказывает, что в pyqt это делается так же или даже проще.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
я тебя не понимаю.
вот документация из QT:
Цитата: |
Detailed Description
The QFileDialog class enables a user to traverse the file system in order to select one or many files or a directory.
The easiest way to create a QFileDialog is to use the static functions.
Код: |
fileName = QFileDialog.getOpenFileName(self,
tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"))
|
In the above example, a modal QFileDialog is created using a static function
|
чтобы вот эта хрень работала, надо ее описать в отдельном классе иначе метод "self" работать не будет.
добавлено спустя 4 минуты:
везде примерно одинаковые примеры:
Код: |
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class filedialogdemo(QWidget):
def __init__(self, parent = None):
super(filedialogdemo, self).__init__(parent)
layout = QVBoxLayout()
self.btn = QPushButton("QFileDialog static method demo")
self.btn.clicked.connect(self.getfile)
layout.addWidget(self.btn)
self.le = QLabel("Hello")
layout.addWidget(self.le)
self.btn1 = QPushButton("QFileDialog object")
self.btn1.clicked.connect(self.getfiles)
layout.addWidget(self.btn1)
self.contents = QTextEdit()
layout.addWidget(self.contents)
self.setLayout(layout)
self.setWindowTitle("File Dialog demo")
def getfile(self):
fname = QFileDialog.getOpenFileName(self, 'Open file',
'c:\\',"Image files (*.jpg *.gif)")
self.le.setPixmap(QPixmap(fname))
def getfiles(self):
dlg = QFileDialog()
dlg.setFileMode(QFileDialog.AnyFile)
dlg.setFilter("Text files (*.txt)")
filenames = QStringList()
if dlg.exec_():
filenames = dlg.selectedFiles()
f = open(filenames[0], 'r')
with f:
data = f.read()
self.contents.setText(data)
def main():
app = QApplication(sys.argv)
ex = filedialogdemo()
ex.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main() |
я может ищу неправильно?
_________________ 55.811115, 51.724584
Последний раз редактировалось: Гарри Портер (10:13 23-11-2022), всего редактировалось 1 раз |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Гарри Портер : |
чтобы вот эта хрень работала, надо ее описать в отдельном классе иначе метод "self" работать не будет.
|
Ууу как все запущено...
self - это не метод, а ссылка на родительское окно. Ты диалог где показывать собрался - прямо на рабочем столе? Диалог - это вспомогательное окно, оно выводится поверх родительского (и заодно блокирует в этом родительском окне ввод, если диалог модальный). Вот ссылку на это родительское окно ты и передаешь.
Код: |
def getfile(self):
fname = QFileDialog.getOpenFileName(self, 'Open file',
'c:\\',"Image files (*.jpg *.gif)")
self.le.setPixmap(QPixmap(fname))
|
Ну вот же он, пример использования стандартного диалога выбора файла: QFileDialog.getOpenFileName показывает диалог поверх родительского окна (self) и возвращает строчку с именем файла, выбранного юзером. Ты тут никаких диалоговых окон напрямую не создаешь, никаких туда виджетов не насовываешь - все уже готовенькое.
Далее мы этот файл грузим в QPixmap и показываем в родительском окне (self.le.setPixmap()).
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
Я может чего не понимаю. Даден простенький пример как запускать окно QT:
Код: |
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QFileDialog
Form, Window = uic.loadUiType("mainform.ui")
//мое
def getfile(self):
fname = QFileDialog.getOpenFileName(self, 'Open file',
'c:\\',"Image files (*.jpg *.gif)")
self.le.setPixmap(QPixmap(fname))
//*мое
app = QApplication([])
window = Window()
form = Form()
form.setupUi(window)
//мое
form.exploreButton.clicked.connect(getfile)
form.exitButton.clicked.connect(app.exit)
//*мое
window.show()
app.exec_()
|
то что добавил сам -выделил жирным шрифтом (как оказалось тег жирного шрифта под тегом коде не работает). Как мне заставить работать файлдиалог? В таком виде ругается
Цитата: |
Traceback (most recent call last):
File "d:\Python\Projects\Dialog\main.py", line 7, in getfile
fname = QFileDialog.getOpenFileName(self, 'Open file',
TypeError: getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0): argument 1 has unexpected type 'bool'
|
добавлено спустя 1 минуту:
вместо селф пробовал писать form (по логике он же должен быть родительским окном), но тогда вылазит другая ошибка.
Или мы опять приходим к тому что этот файл диалог надо описывать в отдельный класс как в моем предыдущем примере?
_________________ 55.811115, 51.724584
Последний раз редактировалось: Гарри Портер (00:09 24-11-2022), всего редактировалось 2 раз(а) |
|
|
Voha 931 EGP
Рейтинг канала: 9(1038) Репутация: 167 Сообщения: 4929 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001 |
|
Гарри Портер : |
но тогда вылазит другая ошибка.
|
Вряд ли ошибка сильно другая - вроде тебе вполне честно сказали, что ошибка в типе первого аргумента. Ожидается, что он будет типа QWidget или унаследованного от QWidget.
_________________ Time will show... |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Гарри Портер : |
form.exploreButton.clicked.connect(getfile)
|
Ну и с какими аргументами вызовется getfile при нажатии на кнопку?
Правильно, ни с какими.
А надо - со ссылкой на родительское окно (window).
UPD: ось тоби работающий пример (только qlabel не забудь на форму накинуть с именем le):
Cкрытый текст (кликните здесь для просмотра)
Код: |
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication, QFileDialog
from PyQt5.QtGui import QPixmap
Form, Window = uic.loadUiType("mainform.ui")
def getfile():
fname = QFileDialog.getOpenFileName(window, 'Open file',
'c:\\',"Image files (*.jpg *.gif)")
form.le.setPixmap(QPixmap(fname[0]))
app = QApplication([])
window = Window()
form = Form()
form.setupUi(window)
form.exploreButton.clicked.connect(getfile)
form.exitButton.clicked.connect(app.exit)
window.show()
app.exec() |
|
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов.
Последний раз редактировалось: Grebomet (11:26 24-11-2022), всего редактировалось 1 раз |
|
|
iiiIIIiiIIiIiiII 281 EGP
Рейтинг канала: 1(1) Репутация: 14 Сообщения: 313 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020 |
|
Посоветуйте малошумный корпус с хорошей изоляцией и приличным количеством мест для вентиляторов. Можно громозкий. Основные критерии: минимальный уровень шума и возможность обеспечения качественного охлаждения северного моста.
Бюджет 15-30 тысяч.
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак. |
|
|
Гарри Портер 262 EGP
Рейтинг канала: 3(49) Репутация: -70 Сообщения: 4750 Предупреждений: 1 Откуда: Раттус такой взялся? Зарегистрирован: 11.11.2013 |
|
Grebomet : |
UPD: ось тоби работающий пример (только qlabel не забудь на форму накинуть с именем le):
|
Оно работает.
Почему-то во всех встречаемых мною примерах файлдиалог описывался только в отдельном классе...
_________________ 55.811115, 51.724584 |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
Гарри Портер : |
Почему-то во всех встречаемых мною примерах файлдиалог описывался только в отдельном классе...
|
Не описывался, а вызывался. Это вспомогательная хрень, под него не нужен отдельный класс.
Вот если ты свой собственный диалог нарисуешь с блэкджеком и гуриями - тогда лучше его оформить в отдельный класс. Иначе запаришься разгребаться, какие сигналы откуда пришли.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
Voha 931 EGP
Рейтинг канала: 9(1038) Репутация: 167 Сообщения: 4929 Откуда: Moscow, Russia Зарегистрирован: 15.02.2001 |
|
iiiIIIiiIIiIiiII : |
Посоветуйте малошумный корпус с хорошей изоляцией и приличным количеством мест для вентиляторов. Можно громозкий. Основные критерии: минимальный уровень шума и возможность обеспечения качественного охлаждения северного моста.
Бюджет 15-30 тысяч.
|
Корпус отдельно, малошумные вентиляторы отдельно. В пределах 6 тысяч можно найти корпуса с возможностью установки трех фротальных, двух задних и двух верхних 120мм вентиляторов от Thermaltake, Aerocool, Corsaris - выбирать можно из эстетических соображений. А вот <15Дб вентиляторы вроде Noctua NF-A12X25-LS-PWM будут примерно по 3тыр за штуку.
_________________ Time will show... |
|
|
iiiIIIiiIIiIiiII 281 EGP
Рейтинг канала: 1(1) Репутация: 14 Сообщения: 313 Откуда: Планета номер 13 в Тентуре Зарегистрирован: 25.05.2020 |
|
А что скажешь насчёт этого? ссылка
_________________ И вздохнёт бог. Посмотрит всё прощающими глазами. И скажет мне, дурак ты, Василий. А ежели ты дурак, то какая тебе разница, дурак ты или же — Дурак. |
|
|
Grebomet 1460 EGP
Рейтинг канала: 8(753) Репутация: 261 Сообщения: 4765 Откуда: Питербурх Зарегистрирован: 06.01.2003 |
|
ЛГБТ-подсветки нет, стеклянной бочины нет - фу какое-то, а не корпус!
А если серьезно, то через стекло хорошо контролировать уровень запыленности вентиляторов. Жаль, не все видно.
_________________ Классическая ошибка, которую совершают проектировщики абсолютно надежных систем, – недооценка изобретательности клинических идиотов. |
|
|
|
|
|
Железный канал: «Вопросница #3» |
|