-
Постов
70 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Buratino
-
Звание
Участник
- День рождения 17.11.1990
Информация
-
Город
Array
-
Рисование в Qt
Buratino ответил Buratino тема в Программирование
мне тут про layout подсказали, что его следует поместить на главный виджет и уже в него вставить тот, в котором будет что-то рисоваться, очень похоже по смыслу на Вашу сцену -
Рисование в Qt
Buratino опубликовал тема в Программирование
В программе есть два класса, основной Widget и наследник Ellipse. C помощью принципа сигналов и слотов я пытаюсь нарисовать фигуру в основном виджете, точнее, сделать так чтобы рисунок в наследнике Ellipse отображался на форме Widget, то есть вставить один виджет в другой. Как это реализовать в коде? Ellipse.h class Ellipse : public QWidget { Q_OBJECT public: Ellipse(QWidget *parent = 0); ~Ellipse(); protected: void paintEvent(QPaintEvent *event); }; Ellipse.cpp Ellipse::Ellipse(QWidget *parent) : QWidget(parent) { } Ellipse::~Ellipse() { } void Ellipse::paintEvent(QPaintEvent *event) { Q_UNUSED(event); QPainter painter(this); painter.setPen(QPen(Qt::black, 2, Qt::SolidLine, Qt::FlatCap)); painter.setBrush(QBrush(Qt::white, Qt::SolidPattern)); painter.drawEllipse(100, 50, 200, 200); painter.drawEllipse(140, 110, 40, 40); painter.drawEllipse(220, 110, 40, 40); painter.setBrush(QBrush(Qt::black, Qt::SolidPattern)); painter.drawEllipse(155, 125, 10, 10); painter.drawEllipse(235, 125, 10, 10); painter.setBrush(QBrush(Qt::white, Qt::SolidPattern)); painter.drawEllipse(150, 200, 100, 5); } Widget.cpp Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); setWindowTitle("Face"); setFixedSize(400,400); Ellipse *p = new Ellipse; connect(ui->pushButton,SIGNAL(clicked()),p,SLOT(repaint())); } -
чтение данных из файла в Matlab
Buratino ответил Buratino тема в Математика и Физика
я попробовал использовать scantext A = scantext(fid, '%16u16',1) таким способом получилось вывести первое число когда я попробовал поменять последний параметр функции scantext и написал так A = scantext(fid, '%16u16', -1), где -1 - чтение всего файла, в воркспэйсе получил A = [65535x1 uint16] :( а с функцией bi2de не совсем ясно как читать строки последовательно -
чтение данных из файла в Matlab
Buratino опубликовал тема в Математика и Физика
Есть .dat файл с двоичными 16разрядными данными вида: 00001111000011110000 11110000111100001111 и т.д всего 65535 строк каким способом этот файл можно считать в матрицу 65535x1 с тем условием, чтобы данные имели уже десятичный формат, а не двоичный? -
Высоковольтный усилитель
Buratino ответил Buratino тема в Схемотехника
Всё, понял свою ошибку, подобрал транзисторы с большим Uds и всё заработало, спасибо! -
Высоковольтный усилитель
Buratino ответил Buratino тема в Схемотехника
Ну всё так, верно. Этими резисторами задаётся напряжение Uзи, я писал про него выше -
Высоковольтный усилитель
Buratino опубликовал тема в Схемотехника
Решил собрать усилитель на 50В по данной схеме http://digit-el.com/files/circuits/hvamp/hvamp.html Вместо транзисторов VT3, VT4 в выходном каскаде, использую полевые транзисторы N и P типа соответственно, рассчитанные на макс. напряжение ЗИ равное 100В. Резисторы R7, R8 взял по 10мОм. Дело в следующем, при подаче питания в 50В на транзисторе, на выходе получается синусоида с амплитудой в 49 вольт, при подаче большего напряжения полуволны начинает обрезать, и чем больше напряжение питания, тем больше обрезает. Получается, что полевые транзисторы уходят в область отсечки???Но я мерял вольтметром в мультисиме напряжение ЗИ, оно находится в диапазоне открытия транзистора P типа во время всей положительной полуволны и N типа во время всей отрицательной, тогда почему они обрезаются??? -
Расчёт радиатора для транзистора
Buratino ответил Buratino тема в Схемотехника
Разбитые детские мечты... :( Спасибо за ответ! -
Расчёт радиатора для транзистора
Buratino ответил Buratino тема в Схемотехника
Объясните дураку, там это где? В пдфке, что я скинул? Но я там таких цифр как 175 С, 3.3 C/W и 45 W в упор не вижу или Вы про другой источник? -
Расчёт радиатора для транзистора
Buratino ответил Buratino тема в Схемотехника
Это надо в золотой фонд цитат или в рубрику "Профессионалы советуют" Надо будет ещё и радиатор с нулевым тепловым сопротивлением взять :rolleyes: -
Расчёт радиатора для транзистора
Buratino ответил Buratino тема в Схемотехника
А я хочу 42 Вт -
Расчёт радиатора для транзистора
Buratino опубликовал тема в Схемотехника
Есть полевой транзистор N-типа в I-PAK корпусе IRFR024. Его максимальная рассеиваемая мощность при Tc = 25 C равна 42 W. Вопрос в следующем: как можно рассеять на транзисторе всю это мощность, чтобы он не сгорел? По моим расчётам для данного транзистора получаем: Макс. температура корпуса при рассеивании 42 W: (Tjunc.max - P*Rjc) = (150 - 42*3) = 24 C. Температурное сопротивление корпус-радиатор Rjhs c использованием теплопроводящей диэлектрической подложки примем 2 С/W. Получаем, что максимально допустимая температура радиатора будет составлять (Tc - P*Rjhs) = (24 - 42*2) = - 60 C. Выходит, что такую мощность попросту невозможно рассеять на данном транзисторе? irfr024.pdf -
Зависает кнопка при вызове потока
Buratino ответил Buratino тема в Программирование
Вставил в цикл и поехало! :) Только ,правда, прога притормаживает неплохо так :smile3046: :laugh: AHTOXA Переделал по Вашему образцу, теперь всё чётко работает, спасибо! :disco: -
Зависает кнопка при вызове потока
Buratino опубликовал тема в Программирование
При выполнении потока по нажатию кнопки, сама кнопка зависает, и невозможно выполнение никаких других действий до завершения всех действий в потоке, что я не так делаю? Код Unit2.сpp потока : #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Windows.h" #include "math.h" #pragma package(smart_init) #define pi 3.1415926 __fastcall Ready::Ready(bool CreateSuspended) : TThread(CreateSuspended) { } //--------------------------------------------------------------------------- void __fastcall Ready::Execute() { Synchronize(Graph); //---- Place thread code here ---- } void __fastcall Ready::Graph(void) //определение cозданной функции { for (int i = 0; i < 1000; i++) { Form1->Memo2->Lines->Add(sin(i)); Sleep(2000); } } Unit2.h: class Ready : public TThread { private: protected: void __fastcall Execute(); public: TMemo *Memo2; //объект мемо void __fastcall Graph(); __fastcall Ready(bool CreateSuspended); //объявление исполняемой функции }; код обработчика кнопки Button2 Unit1.cpp: void __fastcall TForm1::Button2Click(TObject *Sender) { Thread = new Ready(false); //cоздал объект класса TThread (Ready) Thread->FreeOnTerminate = true; //разрушаем объект после окончания выполнения Thread->Priority = tpLower; //задал приоритет } -
Работа со временными отрезками в си
Buratino ответил Buratino тема в Программирование
Решил вопрос с помощью компонента Timer в С++ Builder, самый простейший вариант, точность порядка десятков мс, но она хромает, причём нормально :)