随笔分类 - Java Qt编程
基于Java QtJambi的Qt编程,跨平台,教程参考C++ GUI Qt 4编程(第二版)。
14 - QFindFileDialog
摘要:书上只是写了界面,顺便把功能完善了。 QLineEditDropList类 - 在普通的QLineEdit上,增加了下拉框(历史记录)。 package jqt; import io.qt.core.QStringList; import io.qt.core.QStringListModel; i
阅读全文
13 - QPlotter
摘要:利用Deepseek AI,在书上的例子增加了一些功能。QMap和QList可以替换为Java自带的HashMap和ArrayList。 QPlotter类 package jqt; import io.qt.core.*; import io.qt.gui.*; import io.qt.widg
阅读全文
12 - QType类扩展
摘要:基于QtJambi + Deepseek AI写了一个将字符串转换对应对象的QType类,因为QtJambi初始化QMap等容器太麻烦了,所以写了一个QType类自动填充QMetaType到QT容器,同时也为以后自定义序列化和反序列化实现做准备。String扩展更新。 QType类 package
阅读全文
11 - QIconEditor
摘要:按照教程,写一个QIconEditor类,增加了ctrl + 鼠标中间滑轮调整zoom。代码如下。 package jqt; import io.qt.core.*; import io.qt.gui.*; import io.qt.widgets.QSizePolicy; import io.qt
阅读全文
10 - QHexSpinBox(扩展类已更新)
摘要:按照教程,暂定0xFFFF为最大。代码如下。 package jqt; import io.qt.core.QRegularExpression; import io.qt.gui.QRegularExpressionValidator; import io.qt.gui.QValidator; i
阅读全文
09 - Spreadsheet表格 - 运行示意图
摘要:调用如下。 package one; import jqt.Jqt; import jqt.Spreadsheet; public class Main{ public static void main(String[] args){ Jqt qt = new Jqt(args, ":/login/
阅读全文
09 - Spreadsheet表格 - QCell类
摘要:这里我添加了小数点的控制,默认是2位小数点。 package jqt; import io.qt.core.QMetaType; import io.qt.core.QRegularExpression; import io.qt.core.QVariant; import io.qt.core.Q
阅读全文
09 - Spreadsheet表格 - QSpreadsheet类
摘要:此类继承于QTableWidget,代码如下。 package jqt; import io.qt.core.*; import io.qt.widgets.*; import java.util.ArrayList; import java.util.Collections; import jav
阅读全文
09 - Spreadsheet表格 - Spreadsheet类
摘要:按照教程,先把spreadsheet的界面写好,书中是继承QMainWindow,但是我这里用的是QDialog,大家如果想继承到自己的UI中,可以继承QWidget。代码如下,不懂的请问AI或者认真跟着书一步一步写。其中有些地方,由于Qt版本不同,有些修改,但是不影响功能。 package jqt
阅读全文
08 - SortDialog ui文件
摘要:按照教程,设计一个SortDialog的ui文件,如下。 使用uiConvert将ui转换为我们的java类。 qt.uiConvert("D:\\Codes\\Java\\Shared\\uic\\sort.ui","D:\\Codes\\Java\\Shared\\src\\main\\java
阅读全文
07 - GoToCell ui文件
摘要:按照教程,用qt creator创建一个ui文件,如下。 调用如下 package one; import jqt.Jqt; public class Main { public static void main(String[] args) { Jqt qt = new Jqt(args, nul
阅读全文
06 - FindDialog
摘要:查找框dialog package jqt; import io.qt.core.QObject; import io.qt.core.Qt; import io.qt.widgets.*; class FindDialog extends QDialog { public final Signal
阅读全文
05 - 封装Jqt类
摘要:把核心功能,封装到Jqt类中,之后会慢慢扩展这个类。目前具有功能是加载ui文件,将ui文件转换为Java代码,登录界面显示。 package jqt; import io.qt.core.*; import io.qt.core.Qt; import io.qt.gui.QColor; import
阅读全文
04 - Age
摘要:按照书的顺序,现在应该是要写一个Enter your age的QSpinBox和QSlider。直接上Java对应代码。 package one; import io.qt.core.Qt; import io.qt.widgets.*; public class Main { public sta
阅读全文
03 - 扩展Java自带的String类,Object类,Character类,Integer类 (持续更新)
摘要:右键,新建,点击Extension Class,搜索需要扩展的类即可。 String类扩展 package Qtjambi.extensions.java.lang.String; import io.qt.core.QRegularExpression; import io.qt.core.QSt
阅读全文
02 - 实现uiLoad和uiConvert
摘要:QT是支持加载ui文件,并且也支持将ui文件转换为对应的代码,方便用户通过Qt Creator开发好ui,然后直接从Java里调用。 uiLoad方法 ui - ui文件全路径 此方法主要是动态加载ui文件,并且显示,代码如下。 QUiLoader一定要在QApplication.initializ
阅读全文
01 - Hello Java QT
摘要:相信大家已经配置好编译环境了,现在我们用intellij idea创建一个maven项目,至于项目结构,大家自己按照喜好就行。我单独会有一个Shared项目,里面是所有核心功能的实现,防止重复书写,所以我的pom.xml如下 <?xml version="1.0" encoding="UTF-8"?
阅读全文
配置QtJambi编译环境
摘要:所有代码都是以C++ GUI Qt 4编程(第二版)为准,只是重新用Java + QtJambi重写了。 当前编译IDE是intellij idea 2024, 系统win 11 LTSC。需要配置的额外包有JNA 和Manifold。 编译QtJambi源代码 1. 下载QT安装程序 (https
阅读全文
浙公网安备 33010602011771号