gui

GUI之JavaFX

僤鯓⒐⒋嵵緔 提交于 2020-02-28 17:39:22
  一、JavaFX不深究系列,目的只是为了尝试使用GUI的方式来生成桌面应用。   二、JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和Java一样跨平台。说白了就是利用Java的跨平台关系,做了一个图形处理工具。   三、详细学习可以参考: http://www.javafxchina.net/main/ 东西很多,不建议深究。   四、来点基本案例:   1)HelloWorld import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloWorld extends Application{ public void start(Stage primaryStage) throws Exception { //按钮绑定事件 Button button = new Button(); button.setText("hello world"); button.setOnAction(event ->

Java GUI编程(12)---分组布局GroupLayout

非 Y 不嫁゛ 提交于 2020-02-28 05:31:32
GroupLayout 。 把多个组件按区域划分到不同的 Group , , 再根据各个 Group 相对于水平轴 (Horizontal) 和垂直轴 (Vertical) 的排列方式来管理。 GroupLayout 布局特征对 X 轴 (水平方向)和 Y 轴 (竖直方向)独立的,因此在 水平 和 竖直 方向上分别指定一个组,来分别确定组件在 水平方向 和 竖直方向 上的位置。 // 确定组件在 X 轴 方向上的位置 , 指定布局的水平组的方法 GroupLayout. setHorizontalGroup (GroupLayout.Group group); * 水平组(仅确定 X 轴方向的坐标 / 排列方式) * 水平串行 : 水平排列(左右排列) * 水平并行 : 垂直排列(上下排列) ------------------------------------------------------- // 确定组件在 Y 轴 方向上的位置 , 指定布局的垂直组的方法 GroupLayout. setVerticalGroup (GroupLayout.Group group); * 垂直组(仅确定 Y 轴方向的坐标 / 排列方式) * 垂直串行 : 垂直排列(上下排列) * 垂直并行 : 水平排列(左右排列) 布局设计 演示代码 package com.msh.util;

Python:图形化GUI-pyQt5入门

那年仲夏 提交于 2020-02-27 19:05:40
创建第一个GUI界面 首先,我们使用pyqt5的窗口小部件创建一个最基本的GUI: # coding:utf-8 import sys from PyQt5.QtWidgets import * app = QApplication(sys.argv) #应用程序对象 win = QWidget() #窗口控件对象 win.show() sys.exit(app.exec_()) #事件循环发生在应用程序中 在上面的程序中,我们首先引用了需要的模块:sys和pyqt5的QtWidgets模块: sys模块提供了访问由解释器使用或维护的变量和与解释器进行交互的函数; QtWidgets模块包含提供一组UI元素以创建经典桌面式用户界面的方法,可以让我们很方便地创建窗口对象。 接着,我们实例化了一个应用程序对象QApplication(),在PyQt5中,每个应用程序都必须实例化一个QApplication(): 然后我们创建了一个QWidget()对象,它是pyqt5中所有的图形用户界面的基类: 再是使用QWidget对象的show()方法将创建的窗口显示出来: 最后,我们调用应用程序对象的exec_()方法来运行程序的主循环,并使用sys.exit()方法确保程序能够完美的退出。 设置窗口标题、大小和位置 # coding:utf-8 import sys from PyQt5

GUI编程-图形用户界面编程

流过昼夜 提交于 2020-02-27 10:42:43
1、GUI简介 GUI的核心技术:Swing、AWT。 现在基本没人使用。 为什么学习GUI: 1、可以写一些小工具 2、工作时候,有可能需要维护到Swing界面 3、了解MVC架构,了解监听。 2、AWT(抽象的窗口工具) 包含了很多的类和接口。存在于java.awt包下。 元素:窗口、按钮、文本框…… 2.1、组件和容器 Frame(窗口) //gui的第一个界面 public class FrameTest { public static void main ( String [ ] args ) { Frame frame = new Frame ( "我的第一个gui窗口" ) ; //设置可见性 frame . setVisible ( true ) ; //设置窗口大小 frame . setSize ( 300 , 300 ) ; //设置背景颜色 frame . setBackground ( new Color ( 9 , 9 , 255 ) ) ; //设置弹出的初始位置 frame . setLocation ( 200 , 200 ) ; //设置窗口大小固定 frame . setResizable ( false ) ; //默认是true,不固定 false固定 } } 停止java程序,才可以关掉窗口。 public class

Java GUI编程(3)---JLabel设置图片

大憨熊 提交于 2020-02-21 10:09:45
1打开NetBeans,新建项目demoJLabel1,主类com.msh.util. DemoJLabel1 2项目下新建文件夹img,放图片文件Search.gif 3演示代码 package com.msh.util; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.Icon; import javax.swing.ImageIcon; import java.awt.Color; import java.io.File; import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; public class DemoJLabel1 { public static void main(String[] args) { JFrame jf=new JFrame("演示标签组件设置图片"); jf.setLocation(300, 300); jf.setSize(300, 200); jf.setDefaultCloseOperation(DISPOSE_ON_CLOSE); jf.setBackground(Color.white); String dir =System.getProperty("user.dir");

Java GUI编程(2)---JLabel

天大地大妈咪最大 提交于 2020-02-21 05:41:52
JLabel对象创建完成后显示一个标签。 标签可以显示文本、图像,可设置垂直和水平对齐方式, 默认内垂直居中对齐。 1,只显示文本的标签是开始边对齐; 2,只显示图像的标签则水平居中对齐。 3,二者都显示,文本位于图像的结尾边上,文本和图像都垂直对齐。 构造方法 JLabel() JLabel(String text) JLabel(String text, int horizontalAlignment) //指定文本和水平对齐方式 JLabel(String text, Icon icon, int horizontalAlignment) //指定文本、图像和水平对齐方式 JLabel(Icon image) //指定图像 JLabel(Icon image, int horizontalAlignment) 常用方法 String getText() //获取标签的文本字符串 Icon getIcon() //返回标签的图形图像 void setText(String text)// 显示单行文本 void setIcon(Icon icon) 简单代码,演示一个标签对象 package com.msh.util; import javax.swing.JFrame; import javax.swing.JLabel; import static javax.swing

GUI_事件监听机制与ActionListener演示

一世执手 提交于 2020-02-20 18:54:20
事件监听机制组成: 事件源:(awt包或者swing包中的那些图形界面组件)(被打的那个人,被点击的组件,可以承受某些事件,但不是所有事件都能承受) 事件:每个事件源都有自己特有的对应事件和共性事件(动作,比如打,点击) 监听器:将可以触发某一个事件的动作(不止一个动作)都已经封装到了监听器中(保镖) 处理方式 上面的三个在java中都已经定义好了,直接获取其对象来用就可以了 我们要做的就是对产生的动作进行处理 import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class MonitorDemo { public static void main(String[] args) { Frame f=new Frame("黄剑锋"); f.setSize(600,500); f.setLocation(300,200); f.setLayout(new FlowLayout());

Python GUI编程(Tkinter)Label控件

末鹿安然 提交于 2020-02-19 22:09:45
import tkinterwin = tkinter.Tk()win.title("sunck")win.geometry("400x400+200+20")'''Label:标签控件可以显示文本'''#win 父窗体#text 显示的文本内容#bg 背景色#fg 字体颜色#wraplength 指定text文本中多宽进行换行#justify 设置换行后的对齐方法#anchor 位置 n北 e东 s南 w西 center居中 ne se sw nwlabel = tkinter.Label(win, text="sunck", bg="blue", fg="red", font=("黑体", 20), width=10, height=4, wraplength=100, justify="left", anchor="center")#显示出来label.pack()win.mainloop() 来源: https://www.cnblogs.com/pygo/p/12332944.html

GUI(主)线程与子线程之间的通信(用信号槽通讯)

送分小仙女□ 提交于 2020-02-19 18:19:23
在主线程上,可以控制子线程启动,停止,清零 如果子线程启动的话,每一秒钟会向主线程发送一个数字,让主线程更新界面上的数字。 程序截图: 上代码: [cpp] view plain copy print ? #include <QtGui> #include <QtCore> #include <windows.h> class Thread : public QThread { Q_OBJECT private: int number; protected: void run(); public: Thread(QObject *parent=0); ~Thread(); signals: void UpdateSignal( int num); public slots: void ResetSlot(); }; class Widget : public QWidget { Q_OBJECT private: QLabel *label; QPushButton *startButton; QPushButton *stopButton; QPushButton *resetButton; Thread *myThread; int number; public: Widget(QWidget *parent = 0); ~Widget(); signals: void

wxWidgets的安装编译、相关配置、问题分析处理

匆匆过客 提交于 2020-02-19 01:54:44
一、介绍部分 (win7 下的 GUI 效果图见 本篇文章的最后部分截图2张) wxWidgets是一个开源的跨平台的C++构架库(framework),它可以提供GUI( 图形用户界面 )和其它工具。目前的2.x版本支持所有版本的Windows、带GTK+或Motif的Unix和MacOS。相当于大家熟悉的 VC++。 参考介绍: http://www.cnblogs.com/nokiaguy/archive/2009/01/27/1381071.html http://www.baidu.com/s?wd=wxWidgets http://zh.wikipedia.org/zh/WxWidgets 二、wxWidgets的安装与编译: 二.1 基础部分 编译是少不了的操作,即使你下载的是安装包,因为这个安装包只是相当于自解压包,我们还需要将其进行编译,才能得到wxWidgets在Windows可用的库。 如果你在参考了许多编译文档或教程之后发现还是没有编译出某些库文件,如 wxbase28u_gcc_custom.dll libwxmsw28ud_gl libwxmsw28u_gl libwxmsw28u_dbgrid libwxmsw28ud_dbgrid wxbase28ud_gcc_custom.dll wxbase28u_gcc_custom.dll