Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz
dabadab
#4423
üzenetére
Hű, szerintem .-al írtam, de ez most jó kérdés.
Egyébként a google-ös találatok miszerint static_cast<int16_t> -al kellene castolni float-ból int-be, az stimmel? Ezt a floor() dolgot megpróbálom holnap, csak közben lebetegedtem kicsit, a cucc meg bent van így távgyógyítás lesz...

-
CPT.Pirk
Jómunkásember
Sziasztok,
Arduino alatt működő, stewart platform koordináta transzformáló kód részletet szeretnék átvinni az őt irányító Raspberry-re, mert egyszerűen nem végez időben a gyenge kis Arduino a számításokkal.
Az Rpi-n fut a szerkezet vezérlő programja, ahová ebben a formában beépítettem: https://pastebin.com/PHkg33Xh
Nincs fordítási hibám, de mikor ehhez a sorhoz ér a kód futása, akkor elszáll a program hibaüzi nélkül:platEnd[motor].x = rotationMatrix[0] * (platStart[motor].x - poi.x) + rotationMatrix[1] * (platStart[motor].y - poi.y) + rotationMatrix[2] * (platStart[motor].z - poi.z) + x + (platStart[motor].x - poi.x);
Akkor is, ha csak ennyi van ott:platEnd[motor].x = rotationMatrix[0];
A baloldali rész az int16, az egyenlőség jobb oldalán float van.Próbáltam castolni igy, de elhal így is:
platEnd[motor].x = static_cast<int16_t>rotationMatrix[0];
Viszont ha kézzel odaírok egyplatEnd[motor].x = 12,3;-at, akkor azzal semmi baja.
-
CPT.Pirk
Jómunkásember
válasz
dabadab
#3855
üzenetére
QRect, oké.

Arra gondoltam, hogy class-on kívüli változókat töltök fel a MainWindow létrejövetelénél és azokat simán átadom másik fájlnak, de rá kellett jönnöm, hogy a gomb előbb jön létre, mint a MainWindow amin rajta van így ez nem járható.
Végül aztán a slotokkal sikerült megcsinálni. Betettem a MainWindowhoz egy slotot a két QRect elküldésére, a constructorban megcsinálom a qrectec feltöltését és a connectet a vevő oldallal, majd emittálok.
...
connect(this, &MainWindow::SendDimensions, ui->movedPushButton, &mousemovedbutton::GetDimensions);
LabelDimensions.setX(ui->label_2->width());
LabelDimensions.setY(ui->label_2->height());
PushBtnDimensions.setX(ui->movedPushButton->width());
PushBtnDimensions.setY(ui->movedPushButton->height());
emit SendDimensions(LabelDimensions, PushBtnDimensions);Így most faszán odaérnek a paraméterek a vevő oldalra és tudok velük dolgozni.
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
CPT.Pirk
Jómunkásember
Sima C-s és Pascalos fejjel van egy kérdésem.
QT creatorban a MainWindow osztálynak van egy ilyen része:
public:
explicit MainWindow(QWidget *parent = 0);
QPoint GetLabel2WidthHeight();
QPoint GetPushButtonDimensions();amikkel szeretném máshonnan lekérdezni a mainformon lévő két widget xy paraméterét.
Egy másik CPP fájlból szeretném az előző paramétereket átemelni, és ott dolgozni velük:
...
int Border_x, Border_y, PB_Width, PB_Heigt;
mousemovedbutton::mousemovedbutton(QWidget *parent) : QPushButton(parent)
{
MainWindow * mw = new MainWindow();
QPoint Dimensions;
Dimensions = mw->GetLabel2WidthHeight();
Border_x = Dimensions.x();
Border_y = Dimensions.y();
Dimensions = mw->GetPushButtonDimensions();
PB_Width = Dimensions.x();
PB_Heigt = Dimensions.y();
qDebug() << "GetDimensions " << QString("bx: %1 by: %2 | w: %3 h: %4").arg(Border_x).arg(Border_y).arg(PB_Width).arg(PB_Heigt);
}
...Ez így nem ad hibát fordításkor, de a program meghal, valszeg mert nem kellene még egy példányt létrehoznom a MainWIndow-ból...
C-ben set és get függvényeket írogattam ilyesmire, úgy simán ment a dolgok átadása fájlok között. Pascalban sem volt bonyolultabb. Itt c++ alatt egyáltalán megoldható ez amit szeretnék, vagy ezt is valahogy slotokkal és szignálokkal kellene csinálni?
Röviden összefoglalva egy cimkéből csinált keretben van egy gomb, amit az egérmutató közeledésére szeretnék arrébb mozgatni, de ehhez kellene a keret és a gomb xy paraméteri. Az egérmutató mozgására adott szignál meg slotos részek már megvannak.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Samsung Galaxy S24 - nos, Exynos
- 1969. október 29.
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Hobby elektronika
- Poco F7 – bajnokesélyes
- Szakított a OnePlus és a Hasselblad
- Háztartási gépek
- One otthoni szolgáltatások (TV, internet, telefon)
- Nagyrobogósok baráti topikja
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- További aktív témák...
- Hp Prodesk 600 G3/ G5/ G6 SFF/ i5 8-9-10 gen / Elitedesk 800 G4 /Win11- Számla, garancia
- REFURBISHED - DELL Thunderbolt Dock WD19TBS (210-AZBV)
- GYÖNYÖRŰ iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3394, 94% Akkumulátor
- LENOVO Legion Pro 5 16IRX8 - 16" WQXGA 240Hz - i5-13500HX - 16GB - 1TB - RTX 4060 - 9 Hó garancia
- BESZÁMÍTÁS! 10TB WD Purple Pro SATA HDD meghajtó garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


![;]](http://cdn.rios.hu/dl/s/v1.gif)


