Skip to content
Qt 6.12 LTS is out! See what's new in the release blog
  • 145k Topics
    725k Posts
    J
    After researching some other products that attempt to do what Qt does, I am more determined than ever to try Qt with C#. I think they have the best approach to cross-platform GUIs. So I'm going to try the following: Uninstall my current Qt V6 Install Qt V5.14.2 from https://download.qt.io/archive/qt/5.14/5.14.2/ Install last version of QtSharp from https://gitlab.com/ddobrev/QtSharp Try to make things work! My rationale is that once Qt has their own interface to C# available, the two migrations (QtSharp to Qt's interface, and Qt V5.14.2 to whatever Qt version is current) should be manageable. In the meantime, I get to start coding on my project! If anyone reading this has any opinions as to whether or not this will work, I'd love to hear them. Thanks to all, JB
  • Jobs, project showcases, announcements - anything that isn't directly development
    4k 23k
    4k Topics
    23k Posts
    M
    I put together a small Qt Widgets inspector for media API responses. One public post can return photos, multiple video variants, and a separate audio track. The app lets you paste a JSON response and see each media entry in a table, with a separate message for empty results and malformed responses. Save the snippet as media_inspector.py. Install PySide6-Essentials and run python media_inspector.py. It opens with a synthetic example. Edit the input and click Inspect response to see how the table changes. import json import sys from PySide6.QtWidgets import ( QApplication, QLabel, QPlainTextEdit, QPushButton, QTableWidget, QTableWidgetItem, QVBoxLayout, QWidget, ) EXAMPLE = { "status": 200, "data": {"images": [{}], "videos": [{"quality": "720p"}], "audios": []}, } def media_rows(body): response = json.loads(body) if not isinstance(response, dict) or response.get("status") != 200: raise ValueError("Expected an API response with status 200.") data = response.get("data") if not isinstance(data, dict): raise ValueError("The response is missing its data object.") rows = [] for field, kind in (("images", "Image"), ("videos", "Video"), ("audios", "Audio")): entries = data.get(field, []) if not isinstance(entries, list): raise ValueError(f"{field} must be a list.") for index, entry in enumerate(entries, start=1): if not isinstance(entry, dict): raise ValueError(f"{field} entry {index} must be an object.") quality = entry.get("quality") rows.append((kind, str(index), quality if isinstance(quality, str) else "")) return rows class MediaInspector(QWidget): def __init__(self): super().__init__() self.setWindowTitle("Media response inspector") self.resize(680, 440) self.source = QPlainTextEdit(json.dumps(EXAMPLE, indent=2)) self.status = QLabel() self.table = QTableWidget(0, 3) self.table.setHorizontalHeaderLabels(["Media type", "Entry", "Quality"]) self.table.setEditTriggers(QTableWidget.EditTrigger.NoEditTriggers) inspect_button = QPushButton("Inspect response") inspect_button.clicked.connect(self.inspect) layout = QVBoxLayout(self) for widget in (self.source, inspect_button, self.status, self.table): layout.addWidget(widget) self.inspect() def inspect(self): self.table.setRowCount(0) try: rows = media_rows(self.source.toPlainText()) except json.JSONDecodeError: self.status.setText("The input is not valid JSON.") return except ValueError as error: self.status.setText(str(error)) return self.table.setRowCount(len(rows)) for row_index, row in enumerate(rows): for column_index, value in enumerate(row): self.table.setItem(row_index, column_index, QTableWidgetItem(value)) self.status.setText(f"{len(rows)} media entries." if rows else "No media entries.") if __name__ == "__main__": app = QApplication(sys.argv) window = MediaInspector() window.show() sys.exit(app.exec()) The desktop sample works on pasted data and makes no network requests. It leaves quality blank when the response omits it, and the table deliberately leaves media URLs out. Clearing the table before parsing means an invalid response cannot leave stale rows on screen. If you wire this into a real client, handle the HTTP response and keep any API credentials on your server. I work on EasyDown, the paid API whose response format inspired the sample. The reference explains which media collections each supported platform can return for an individual public post. Use it for media you have permission to process. EasyDown API reference
  • Everything related to designing and design tools

    133 403
    133 Topics
    403 Posts
    A
    Thanks a lot for all this information. It has helped me get clarity on the questions that have been bugging me for weeks. I can now decide better what I want to do, and why. I will definitely share these with them ideas about unifying the UI for mobile and desktop with Qt, as it seems like it doesn't necessarily warrant replacing starting their application from scratch, only their UI code will get replaced (and its bindings).
  • Everything related to the Software Quality Tools

    97 274
    97 Topics
    274 Posts
    C
    This had been reported to Squish technical support team, and closed on behalf of the reporter. Unfortunately it was not possible to identify a clear cause so far.
  • Everything related to learning Qt.

    402 2k
    402 Topics
    2k Posts
    M
    [image: 01776ece-1308-4e3c-98fd-2749b3a4e221.png] Challenges faced: So when it came to building the d-pad, I was absolutely lost and was trying to approach this problem by drawing and arc instead and so I was reading about PathArc, and so it was getting so complicated, then I did see how it was implemented in the solution. repo: https://github.com/Meehir5907/QML-for-Beginners-Challenges/tree/Intro-Qt-Quick-My-Sol/StartingProject
  • 2k Topics
    13k Posts
    jsulmJ
    @VikMorroHun said in blocked: cmake: command not found: In Linux I got more than 6000 hits How did you search to get 6000 hits?
  • 4k Topics
    18k Posts
    C
    找到原因了,账号密码错误导致的
  • This is where all the posts related to the Qt web services go. Including severe sillyness.
    1k 10k
    1k Topics
    10k Posts
    P
    Unless I misunderstand, this topic was written when this forum used Textile, which explains why some of the above have broken formatting. This question is therefore no longer relevant for this forum. That being said, to anwer this question should anyone else land on this topic from a search engine, this should (now?) be possible. 🅭🄍