Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.
Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.
Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.
Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové major verzi 4.0.0 - The Quattro Release. Videopředstavení na YouTube. Celý desktop shell byl přepsán do Quickshellu. Přidána byla podpora pluginů.
Francouzská Ústavní rada zamítla zákaz používání sociálních sítí dětem mladším 15 let. Francouzská obdoba ústavního soudu uvedla, že opatření představuje nepřiměřený zásah do svobody projevu. Francouzský parlament zákaz schválil na konci července, začít platit měl od září. Šlo o první zákaz sociálních sítí pro děti v Evropě. Členové Ústavní rady se domnívají, že ustanovení „představuje zásah, který není přiměřený, nezbytný ani
… více »Open-source trackball Ploopy Adept má novou verzi nazvanou A+. Stále jde o symetrický desktopový trackball s šasi z 3D tiskárny a firmwarem QMK. Novinkami jsou dvojice tlačítek, jimiž půjde také otáčet, a volitelná opěrka ruky. Funkcionalita firmwaru je rozšířena o gesta, vrstvy a možnost konfigurace za běhu. Schémata a kód jsou jako obvykle na GitHubu. A+ půjde předobjednat za 99 CAD (bez dopravy a cla/DPH).
se motám kolem problému, jak určit polohu widgetu na obrazovce. Google mi moc nepomáhá a chatGPT odpověděl dobře, ale jeho odpověď se vztahovala na jim uvedený příklad:
from PySide2.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
layout = QVBoxLayout()
button = QPushButton('Můj tlačítko', self)
button.clicked.connect(self.on_button_click)
layout.addWidget(button)
self.setLayout(layout)
def on_button_click(self):
# Získání globálních souřadnic tlačítka
global_pos = self.mapToGlobal(self.sender().pos())
print('Globální souřadnice tlačítka:', global_pos.x(), global_pos.y())
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
Jakmile Widget zaměním za okno a oknu nastavím centralWidget, mapToGlobal vrací polohu asi centralWidgetu: (měřeno KRulerem)
...
...
self.centralW = QWidget()
layout = QVBoxLayout()
button = QPushButton('Můj tlačítko', self)
button.clicked.connect(self.on_button_click)
layout.addWidget(button)
self.centralW.setLayout(layout)
self.setCentralWidget(self.centralW)
def on_button_click(self):
# Získání globálních souřadnic tlačítka
s = self.sender().pos()
print(f"sender {s}")
cw = self.centralW.pos()
print(f"central {cw}")
global_pos = self.mapToGlobal( self.sender().pos())
print('Globální souřadnice tlačítka:', global_pos.x(), global_pos.y())
...
...
Opravdový přiklad, kde mapTo... chci použít, je trochu složitější, a jediný způsob určení polohy, který jsem vyšpekuloval je:
w = self.ui.qpb_DoSearch
pos = w.pos()
print(pos)
while p := w.parentWidget():
pos = pos + p.pos()
print(p, p.pos())
w = p
print(f"pos: {pos}")
tedy sečíst polohu prvku s polohou všech nadřazených prvků. Výsledek je SKORO přesný. Jsou tu ale dvě věci, které mi zatím brání toto použít:
1) řešení mi připadá kostrbaté
2) ta nepřesnost je ASI způsobená marginy prvků (to nevím jistě) a v případě nějakých šílených marginů mi tento způsob připadá nevhodný.
Možná jdu na problém úplně špatně, cílem je zobrazit krátké varování nad widgetem, že už není další nález hledaného řetězce. Mám to vyřešené přes QDialog bez dekorace, ten QDialog je zvlášť třída, a aby se zobrazil na správném místě, musím znát pozici widgetu. Zatím jsem to vymyslel takto, ale jak píšu, možná to není nejlepší způsob..
Jaké jsou vaše nápady? Rád si počtu rady chytřejších..
Děkuji
M
Řešení dotazu:
QDialog d(widget.parentWidget())
d.move(widget.pos())
alebo bez parent widgetu
QDialog d
d.move(widget.mapToGlobal(QPoint(0, 0)))
https://doc.qt.io/qt-6/application-windows.html#window-geometry
a ... fakt to takto funguje. GPT mi radil něco úplně jiného, ale to fungovalo jen za určitých podmínek. Toto tvé použití jsem neznal, a připadalo mi trochu ujeté, no ale fakt funguje..
Takže děkuji za popostrčení.
M.
Tiskni
Sdílej: