最新要闻
- 周鸿祎与库克共话科技未来:惟一被淘汰的是不会用GPT的人
- 天天观点:12小时保温保冷 朴原良品316不锈钢保温杯16.9元起
- 世界快讯:代码漏洞暴露用户支付信息 ChatGPT安全存隐患:官方致歉
- AMD Yes!Zen4回归骨折价 12核锐龙9 7900到手2549元
- 学生党福音 Redmi小金刚Note 12 Turbo的NFC卡升级:两大功能合体
- 当前资讯!mp3格式转换器哪个好_mp3格式转换器
- 女生靠摆地摊还清百万负债 还有人两周赚1万5、月入万元:摆摊真这么赚钱?
- 【天天速看料】周鸿祎:中国与GPT-4差距两三年 不存在难以逾越技术障碍
- 小彭汽车向小鹏汽车道歉:盘点那些神级模仿的老年代步车
- 【速看料】《三体》动画今日正式完结!豆瓣评分仅3.8:半数一星差评
- 焦点关注:998的比亚迪秦PLUS DM-i多能跑?博主极端工况实测:合资还怎么打
- 速看:76人攻防俱佳夺冠有望,湖人防守第一进攻拉胯,勇士卫冕基本无望
- 全球新资讯:女子模仿网红穿搭遭对方粉丝网暴!法院判网红连续15天道歉、赔偿
- 男子喝红牛味道不对发现是累牛引热议:康帅傅、雷碧等山寨货为何层出不穷
- 用4年不卡!Redmi Note 12 Turbo配置公布:16GB+1TB、5000mAh
- 环球今头条!男子抖音晒夜爬泰山到井盖下躲风 景区回应:核实后会处罚
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
焦点速讯:WPF 入门基础
关于 WPF 和 XAML
什么是 WPF
WPF(Windows Presentation Foundation)是由微软开发的桌面应用程序框架,用于创建现代化、高度交互和具有视觉吸引力的用户界面。它是 .NET Framework 的一部分,提供了一种基于 XAML(Extensible Application Markup Language)语言的声明性编程模型,可以很容易地创建动态、灵活的用户界面,并且可以与其他 .NET 技术无缝集成。WPF 还具有强大的数据绑定和可重用性,使开发人员可以更快地构建和维护应用程序。WPF 也支持硬件加速和高分辨率显示,为用户带来更好的体验。
(资料图)
WPF 和 Winform 的区别
WPF(Windows Presentation Foundation)和 WinForms(Windows Forms)都是用于创建 Windows 桌面应用程序的框架,但它们有一些重要的区别:
- 编程模型:WPF 是基于 XAML 的声明性编程模型,它可以很容易地创建动态、灵活的用户界面,支持动画和高级视觉效果。而 WinForms 则是基于传统的命令式编程模型,需要在代码中手动设置每个控件的属性和事件处理程序。
- 数据绑定:WPF 有一个强大的数据绑定系统,可以将 UI 元素和数据源相互绑定,使应用程序更容易管理和更新数据。WinForms 也支持数据绑定,但不如 WPF 灵活。
- 可重用性:WPF 支持样式和模板,使 UI 元素可以轻松地重用和自定义,这大大简化了应用程序的开发和维护。WinForms 则需要手动创建每个 UI 元素,不太容易重用。
- 矢量图形和分辨率:WPF 使用矢量图形,可在高分辨率屏幕上呈现清晰的图像,而 WinForms 使用像素图形,可能在高分辨率屏幕上显示模糊或失真。
WinForms 与 WPF 间最大的差异在于 WinForms 只是单纯在 Windows 标准控制项 (例如:TextBox) 上叠一层,而 WPF 几乎是全面从零建构,并未依赖任何 Windows 标准控制项。这差异看起来很微妙,实则不然。如果你曾经使用过依赖 Win32/WinAPI 的框架,就一定会注意到这种差异。
关于这种差异有一个很好的例子就是一个带有图像和文本的按钮。这不是一个标准的 Windows 控件,所以 WinForms 没有为你提供开箱即用的这种可能性。相反,你必须自己绘制图像,实现自己的支持图像的按钮或使用第三方控件。使用WPF,按钮可以包含任何内容,因为它本质上是一个包含内容和各种状态(例如未动、悬停、按下)的边框。 WPF 按钮和大多数其他 WPF 控件一样是“无外观”的,这意味着它可以包含一系列其他控件。想要得到一个带有图像和一些文本的按钮只需要在按钮(Button)里放一个 Image 和一个 TextBlock 控件,就这样!但是你根本无法从 WinForms 默认控件中获得这种灵活性,这就是为什么控件的简单实现(如带图像的按钮等)有很大的市场。
总的来说,WPF 更适合创建现代化、高度交互和具有视觉吸引力的用户界面,而 WinForms 则更适合创建传统的 Windows 应用程序。
Hello WPF
新建一个 WPF 工程:
默认情况下会创建两个文件,一个是 XAML文件(mainwindow.xaml),另一个是 CS文件(mainwindow.cs)
在 mainwindow.xaml 上,可以看到两个子窗口,一个是设计窗口,另一个是源(XAML)窗口。
在 WPF 应用程序中,有两种方法可以为你的应用程序设计 UI。一种是简单地将 UI 元素从工具箱拖放到设计窗口。第二种方法是通过为 UI 元素编写 XAML 标记来设计 UI。当拖放功能用于 UI 设计时,Visual Studio 会处理 XAML 标记。
默认情况下,Grid 设置为页面后的第一个元素。
我们来创建一个TextBlock
来显示著名的HelloWorld,两种方法:
<1> 编写 XAML
来声明
Hello WPF
我们使用了三个不同的属性来获得一个自定义的窗口中央位置,FontSize
属性获的更大的字体。
<2> 从工具箱拖放控件到设计器
#
从工具箱拖入的控件,在XMAL
中的属性就比较详细了。
什么是XAML
使用 WPF 时首先遇到的事情之一是 XAML。XAML 代表可扩展应用程序标记语言,一种基于 XML 的简单的声明性语言,是微软用于描述 GUI 的 XML 变种。在之前的 GUI 框架如 WinForms 中,GUI 是用相同语言创建,例如 C# 或 VB.NET ,并且通常由设计者来维护。但是,通过 XAML,微软使用了另一种方式。非常类似HTML,你现在能轻松编写你的GUI。
- 在 XAML 中,很容易创建、初始化和设置具有层次关系的对象的属性。
- 它主要用于设计 GUI,但也可以用于其他目的,例如在 Workflow Foundation 中声明工作流。
创建 WPF 项目时,在MainWindow.xaml
中会默认生成一些XAML
代码:
信息 | 描述 |
---|---|
它是根的开放对象元素或容器。 | |
x:Class = "HelloWPF.MainWindow" | 它是一个部分类声明,将标记连接到后面定义的部分类代码。 |
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" | 映射 WPF 客户端/框架的默认 XAML 命名空间 |
xmlns:x = "http://schemas.microsoft.com/w infx/2006/xaml" | XAML 语言的 XAML 命名空间,将其映射到 x: 前缀 |
> | 根的对象元素的结尾 |
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" | d: XAML命名空间在XAML元素上启用设计器属性。这些设计器属性只影响XAML行为的设计方面。当XAML解析器在Silverlight运行时加载相同的XAML并且应用程序运行时,将忽略设计器属性。通常,设计器属性对任何XAML元素都有效,但实际上只有在某些情况下才适合自己应用设计器属性。 |
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" | mc: 表示并支持阅读XAML的标记兼容模式。通常,d:前缀与属性 mc:Ignorable 相关联。此技术使运行时XAML分析器能够忽略设计属性 |
它是空Grid对象的开始和结束标记。 | |
关闭对象元素 |
命名空间的解释是我在 Stackoverflow 上找到的。
XAML 的语法规则与 XML 几乎相似。如果查看 XAML 文档,您会注意到它实际上是一个有效的 XML 文件,但 XML 文件不一定是 XAML 文件。这是因为在 XML 中,属性的值必须是字符串,而在 XAML 中,它可以是不同的对象,称为 Property 元素语法。
XAML 基础
XAML标签必须有结尾, 在起始标签尾部用斜杠或者使用结束标签都可以。
或者
多数的控件允许你在开始和结束之间放置内容, 这就是控件的内容( content ). 比如,Button控件允许你在开始和结束之间指定显示的文字,这看起来是不是和 HTML 页面标签一样:
但需要注意的是:
HTML不区分大小写,但 XAML 区分。 因为控件的名字最终会有对应到 .NET 框架下的类型 (Type) ,同理 XAML 标签的属性也区分大小写,因为这是控件的属性。
我们可以定义一个带有属性的Button控件:
上面的 Buttoon 中我们设定了属性粗细 (FontWeight) 为粗体 (Bold) ,设定了内容 (Content) , 这和在 Button 控件标签的开始和结束间留下文字是一样的. 另外,我们还可以通过用标签来指定控件的属性内容, 标签名为点号连接控件名和属性名:
这两种写法效果是一样的,只是形式存在差异,很多的控件允许使用文字以外的作为内容,比如, 我们可以在按钮中嵌套TextBlock控件来显示3中不同颜色的文字:
内容 Content
属性只接受一个元素,所以我们用 WrapPanel
控件把三个 TextBlock
控件包起来了。
这样的Panel控件有很多的用途。
也可以省略简化成:
代码 VS XAML
可以看出XAML
还是很好写的,但是这并不唯一,不是说用 WPF 就必须这样,同样的效果同 C#
写的话就是:
Button btn = new Button();btn.FontWeight = FontWeights.Bold;WrapPanel pnl = new WrapPanel();TextBlock txt = new TextBlock();txt.Text = "Multi";txt.Foreground = Brushes.Blue;pnl.Children.Add(txt);txt = new TextBlock();txt.Text = "Color";txt.Foreground = Brushes.Red;pnl.Children.Add(txt);txt = new TextBlock();txt.Text = "Button";pnl.Children.Add(txt);btn.Content = pnl;pnlMain.Children.Add(btn);
从上述内容中我们需要注意以下两个鲜为人知的事实:
- WPF 不需要 XAML
- XAML 不需要 WPF
它们是可分离的技术,很明显在 XAML 中创建、初始化和设置对象的属性的任务也可以使用代码完成。
- XAML 只是另一种设计 UI 元素的简单方法。
- 使用 XAML,这并不意味着您可以设计 UI 元素是唯一的方法。您可以在 XAML 中声明对象或使用代码定义它们。
- XAML 是可选的,但尽管如此,它是 WPF 设计的核心。
- XAML 的目标是使可视化设计人员能够直接创建用户界面元素。
- WPF 旨在使从标记控制用户界面的所有视觉方面成为可能。
元素树
什么是元素树
元素树是一种树形数据结构,通常用于表示文档对象模型(DOM)中的 HTML 或 XML 文档。在元素树中,每个 HTML 或 XML 元素都表示为一个节点,而元素之间的嵌套关系表示为树的父子关系。
在元素树中,根节点代表整个文档,而子节点代表文档中的每个元素。每个节点都包含了元素的标签名称、属性和文本内容等信息。通过遍历元素树,可以轻松地访问和修改文档的内容和结构。
WPF - 元素树
在 WPF 中,元素树是一种关键的概念,它代表了界面中所有元素的层次结构。
在 WPF 中,所有的可视元素(如控件、面板、布局等)都继承自FrameworkElement
或FrameworkContentElement
类,这些类都是 WPF 中元素树的一部分。元素树中的每个元素都可以包含子元素,这些子元素可以是其他可视元素,也可以是非可视元素(如绑定对象、转换器等)。
WPF 中的元素树与 HTML 或 XML 文档的元素树类似,都是一种树形数据结构,用于表示一个文档或应用程序中的元素之间的层次结构关系。通过遍历 WPF 中的元素树,我们可以轻松地访问和修改界面中的元素,实现复杂的布局、数据绑定和事件处理等功能,为开发人员提供了一种方便、灵活的方式来构建和管理复杂的用户界面。
在 WPF 中,有两种方法可以概念化完整的对象树 -
- 逻辑树结构 ( XAML 部分)
- 可视化树结构 ( 渲染到输出屏幕的所有 UI 元素 )
程序运行时,可以在 Live Visual Tree 窗口中看到正在运行的应用程序的可视化树,该窗口显示了该应用程序的完整层次结构。
WPF - 依赖属性
在WPF框架中,依赖属性是一种特殊类型的属性,是扩展 CLR 属性的特定类型的属性,它允许元素继承和共享属性值,并支持数据绑定、样式、动画和值转换等高级功能。
依赖属性的一个重要特点是它们具有优先级顺序,可以根据优先级顺序从多个来源(例如本地值、样式、模板、继承值、动画等)中获取最终值。这使得元素可以根据自己的需求来重写或继承属性的值,从而实现更灵活、可扩展的界面设计。
另一个重要的特点是依赖属性支持数据绑定,这意味着它们可以与其他元素或数据源进行双向或单向绑定,使得界面与数据之间的交互更加自然和动态。
在 WPF 中,许多常见的属性( 如Width、Height、Background等 )都是依赖属性。开发人员还可以定义自己的依赖属性,以扩展WPF中的元素和功能。
定义依赖属性的类必须继承自 DependencyObject类。 XAML 中使用的许多 UI 控件类都派生自 DependencyObject类,它们支持依赖属性。
例如 Button 类支持 IsMouseOver依赖属性:
这是一段关于悬停效果的XAML
:当鼠标悬停在按钮上时,按钮的前景色会变为红色。当鼠标离开按钮时,它会变回原来的颜色。XAML
中的x:Type
标记扩展具有与 C#
中的 typeof()
类似的功能。它用于指定采用对象类型的属性。
为什么需要依赖属性
当在应用程序中使用依赖属性时,它会带来各种好处。在以下情况下,依赖属性可以在 CLR 属性上使用 -
- 如果要设置样式
- 如果你想要数据绑定
- 如果要设置资源(静态或动态资源)
- 如果你想支持动画
基本上,依赖属性提供了许多使用 CLR 属性无法获得的功能。
依赖属性和其他 CLR属性的主要区别如下-
- CLR 属性可以通过使用 getter和 setter直接从类的私有成员中读取/写入。相反,依赖属性不存储在本地对象中。
- 依赖属性存储在
DependencyObject
类提供的键/值对字典中。它还节省了大量内存,因为它在更改时存储了属性。也可以绑定在 XAML 中。
XAML 中的事件
现在多数的 UI 框架都是由事件驱动的,WPF 也是。所有的控件都提供了大量的事件可以订阅,这意味着,你的程序将在事件发生时接受到通知并且你可以对这些事件做出相应。事件有很多不同的类型,大部分会发生在用户鼠标键盘和程序互动的时候,例如KeyDown, KeyUp, MouseDown, MouseEnter, MouseLeave, MouseUp
等类的事件,事件的工作原理描述起来很复杂,我们现在只需要知道怎样连接XAML
和代码程序就可以了:
我们在 Grid 中订阅了MouseUp
事件, 指向方法pnlMainGrid_MouseUp
,我们在方法中添加一个MessageBox
来查看效果:
private void pnlMainGrid_MouseUp(object sender, MouseButtonEventArgs e){ MessageBox.Show("You clicked me at " + e.GetPosition(this).ToString());}
MouseUp
事件使用的是一个名为MouseButtonEventHandler
的委托,它有两个参数, sender
(发生事件的控件), MouseButtonEventArgs
(一些有用的信息, 我们在上面的例子中通过它获取了鼠标的位置)。
有些事件会使用同一个委托,比如MouseUp
和MouseDown
共用MouseButtonEventHandler
, 注意MouseMove
用的是MouseEventHandler
。 当你定义事件处理方法的时候, 你需要知道事件使用的委托, 文档里可以找到。
小tip:Visual Studio 可以帮助我们生成正确的事件处理方法。 在XAML中输入事件的名字, VS 的 IntelliSense 就会提供生成新事件处理方法。 |
当然,也可以通过程序订阅事件:在 C#
中这会使用到 +=
语法,做过 winform
开发的应该很熟悉了。
WPF - 路由事件
XAML 中的事件和 WPF 中的路由事件是不同的,尽管它们有一些相似之处。XAML 中的事件是传统的事件模型,即一个元素上发生的事件会通知该元素的事件处理程序。事件处理程序可以是直接在 XAML 中声明的,也可以是在代码中编写的。
WPF 中的路由事件是一种更复杂的事件模型,它可以在元素树中的多个侦听器上调用处理程序,而不仅仅是引发事件的对象。它基本上是一个由 Routed Event 类的实例支持的 CLR 事件。它在 WPF 事件系统中注册。RoutedEvents 具有三种主要的路由策略,如下所示 -
- 直接事件
- 冒泡事件
- 隧道事件
可以通过整个元素树进行事件冒泡或隧道传递。这意味着当元素上发生路由事件时,事件会向上传递到其父元素,直到到达顶层元素,然后再向下传递到具有匹配事件处理程序的元素。路由事件使得可以更灵活地处理事件,并且可以减少事件处理程序的数量。
虽然路由事件是 WPF 中的一个特性,但它们并不是 XAML 的一部分。XAML 中可以使用传统的事件模型或路由事件模型,具体取决于所使用的技术和需要。
WPF 应用程序
创建 WPF 应用程序时,你首先会遇到Window类。它作为窗体的根节点,提供了标准的边框,标题栏和最大化,最小化和关闭按钮。WPF 窗体是 XAML(.xaml)文件(其中
x:Class
属性告诉 XAML 文件使用哪个类,实例中的是Windows1
,它是由Visual Studio 默认创建的,我们可以在MainWindow.xaml.cs
中找到他:
namespace HelloWPF{ /// /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } }}
正如我们所看到的,Class: Window
被partial
修饰,因为它在运行时与XAML文件相结合,为您提供完整的窗口。这实际上就是对InitializeComponent()
的调用所做的,这就是为什么需要它来启动并运行一个完整的窗口。如果我们返回到XAML文件,你会注意到Window元素上有一些其他有趣的属性,例如Title,它定义了窗口的标题(显示在标题栏中)还有起始宽度和高度。还有一些命名空间定义,我们将在XAML章节中讨论。
我们还会注意到 Visual Studio 已在 Window
中为我们创建了一个 Grid 控件。Grid 是 WPF 面板之一。虽然这个被包含在 Window
中的控件也可以是任何面板或控件,但 Window 只能拥有一个子控件,因此,使用一个可以包含多个子控件的面板通常是一个不错的选择。
重要的Window属性
WPF 的 Window
类有许多有趣的属性,您可以设置这些属性来控制应用程序窗口的外观和行为。
Icon
- 允许你定义窗口的图标,该图标通常显示在窗口标题之前的左上角。
ResizeMode
- 这可以控制最终用户是否以及如何调整窗口大小。默认是CanResize,允许用户像任何其他窗口一样调整窗口大小,使用最大化/最小化按钮或拖动其中一个边缘。CanMinimize将允许用户最小化窗口,但不能最大化它或拖动它更大或更小。NoResize是最严格的,最大化和最小化按钮被移除,窗口不能被拖得更大或更小。
ShowInTaskbar
- 默认值为true,但如果将其设置为false,则窗口将不会在Windows任务栏中显示。适用于非主窗口或应尽量减少托盘的应用程序。
Make correction
SizeToContent
- 决定Window是否应调整自身大小以自动适应其内容。默认是Manual, 这意味着窗口不会自动调整大小。其他选项有Width,Height和WidthAndHeight,分别对应自动调整宽度,高度或同时调整两者。
Topmost
- 默认是false, 但如果设置为true,除非最小化,否则您的窗口将保持在其他窗口之上。仅适用于特殊情况。
WindowStartupLocation
- 控制窗口的初始位置。默认是Manual, 表示窗口最初将根据窗口的Top和Left属性进行定位。其他选项是CenterOwner,它将窗口定位在其所有者窗口的中心,以及CenterScreen,它将窗口定位在屏幕的中心。
WindowState
- 控制初始窗口状态。它可以是Normal,Maximized或Minimized。默认值为Normal,除非您希望窗口最大化或最小化,否则应该使用它。
当然还有很多其他属性,请自行查阅。
使用 App.xaml
App.xaml 是你的应用程序定义的起点,当你创建一个新的 WPF 应用时,Visual Stuido 将自动为你创建它,同时还包括一个名为 App.xaml.cs 的后置代码文件。跟 Window 类似,这两个文件里面定义的是部分类,它们允许你同时在XAML标记和后置代码中完成工作。
App.xaml.cs 继承自 Application
类,在 WPF 程序中是一个中心类。.NET 会进入这个类,从这里启动需要的窗口或页面。这也是一个订阅一些重要应用程序事件的地方,例如,应用程序启动事件,未处理的异常事件等。
App.xaml 文件最常用的功能之一是定义全局资源,这些资源(例如全局样式)将可以从整个应用程序中使用和访问。
App.xaml 结构
默认情况下,新创建的 WPF 程序的 App.xaml 的内容可能会是这样:
这里要注意的主要是StartupUri
属性,它实际上指定了当应用程序启动时应该被加载的 Window (窗体)
或Page
。在这个例子中,MainWindow.xaml
会被启动,但是如果你想使用另外一个window
作为启动入口点,你只需要修改一下这个属性即可。
与上面 App.xaml 内容相匹配的 App.xaml.cs 大概是这样的:
using System;using System.Collections.Generic;using System.Configuration;using System.Data;using System.Linq;using System.Threading.Tasks;using System.Windows;namespace HelloWPF{ /// /// App.xaml 的交互逻辑 /// public partial class App : Application { }}
你会看到这个类继承自Application
类,它允许我们在应用级别去做一些事情。举个例子,你可以订阅Startup
事件,然后手动创建你的启动窗口。
屏幕看着眼疼,写不下去了:
(WPF Tutorial)[https://wpf-tutorial.com/zh/12/wpf應用程式/資源resources/]
(WPF - 蝴蝶教程)[https://www.jc2182.com/wpf/wpf-layout.html]
深入浅出WPF
博客园 - 痕迹
关键词:
焦点速讯:WPF 入门基础
周鸿祎与库克共话科技未来:惟一被淘汰的是不会用GPT的人
天天观点:12小时保温保冷 朴原良品316不锈钢保温杯16.9元起
世界快讯:代码漏洞暴露用户支付信息 ChatGPT安全存隐患:官方致歉
世界速讯:聚焦险企负债成本管理 监管座谈会释放调整信号
AMD Yes!Zen4回归骨折价 12核锐龙9 7900到手2549元
学生党福音 Redmi小金刚Note 12 Turbo的NFC卡升级:两大功能合体
当前资讯!mp3格式转换器哪个好_mp3格式转换器
dotnet-csharp
焦点精选!C++ sizeof与strlen,并借此明晰内存对齐
女生靠摆地摊还清百万负债 还有人两周赚1万5、月入万元:摆摊真这么赚钱?
【天天速看料】周鸿祎:中国与GPT-4差距两三年 不存在难以逾越技术障碍
当前热文:Windows OpenGL ES 图像 GPUImageAmatorkaFilter
javascript的基础知识
小彭汽车向小鹏汽车道歉:盘点那些神级模仿的老年代步车
【速看料】《三体》动画今日正式完结!豆瓣评分仅3.8:半数一星差评
焦点关注:998的比亚迪秦PLUS DM-i多能跑?博主极端工况实测:合资还怎么打
当前关注:Office2019永久激活工具_Office2019激活工具神龙版v2023.2
天天快播:What is static and dynamic libraries
[白嫖系列] 白嫖一个永久免费的eu.org域名
速看:76人攻防俱佳夺冠有望,湖人防守第一进攻拉胯,勇士卫冕基本无望
全球新资讯:女子模仿网红穿搭遭对方粉丝网暴!法院判网红连续15天道歉、赔偿
男子喝红牛味道不对发现是累牛引热议:康帅傅、雷碧等山寨货为何层出不穷
资讯推荐:关于aws-s3-bucket-静态网站托管相关的查询-S3.Client.get_bucket_website(**kwargs)
天天速读:西班牙经济连续两年增速达5.5%
用4年不卡!Redmi Note 12 Turbo配置公布:16GB+1TB、5000mAh
环球今头条!男子抖音晒夜爬泰山到井盖下躲风 景区回应:核实后会处罚
【焦点热闻】YCSB工具原理重点内容解读(二)
CSS鼠标样式(cursor)总结(转载)
每日速看!因航班延误缺考复试 考研生崩溃大哭:对不起父母 对不起自己的努力
猪肉含量≥85% 一口全是肉:亚明猪肉烤肠29.9元2斤大促
越秀资本03月24日获深股通增持98.52万股
精选!宏基e1471g怎么样
热文:czide-CALLAN自制语言(python)
环球短讯!《安富莱嵌入式周报》第307期:开源智能制冷板,Keil MDK6发布时间,编程助手Github Copilot X,Matlab2023,高品质电容
英特尔联合创始人戈登·摩尔去世:享年94岁 “摩尔定律”提出者
天天热点!公司回应招聘前台要求身材 硬性要求臀围86腰围58:网友吐槽离谱
每日消息!学习 React 需要具备的 JavaScript 知识
全球观点:gs_probackup增量备份ptrack.cpp : 88
农事贵争时 物资“抢运”忙——黑龙江部分地区备春耕铁路运输见闻
环球观焦点:中国驻科威特大使馆发布斋月期间领事温馨提醒
妮维雅SPA级氨基酸洗面奶19.9元官方大促:原价87.9元
库克中国行:晒和黄龄合影、宣布苹果捐赠增加至1亿元支持教育事业
天天时讯:读Java性能权威指南(第2版)笔记27_线程和同步性能上
热资讯!蓝盘、紫盘、黑盘?2023年机械硬盘怎么买?
世界快看点丨《互联网广告管理办法》公布:弹出广告不能“一键关闭”最高可罚3万
今日精选:在 Ubuntu 和 Fedora 中设置 Python 开发环境
世界今日报丨网友修iPhone偶遇苹果CEO库克:让他在碎了的后盖上签了个名
90后情侣3年存100万裸辞飞荷兰 网友热议:有勇气活的很洒脱
信息:俄称打击乌军人员装备 乌称击退俄军进攻
环球短讯!12-指针02
全球今亮点!C++ 虚函数(virtual) 和纯虚函数(pure virtual) 的区别
40秒看天宇上演“星月神话”:被月亮星星浪漫到了 月牙慢慢掩盖金星
热门:完全禁用汽柴油?中石化及专家回应了
AMD RX 7900 XTX超频3.4GHz:功耗失控650W!还是打不过RTX 4090
环球实时:ChatGPT开放第三方插件!瞬间 其他AI成了绝望的文盲
快消息!英国监管机构相信微软不会独占CoD
全球滚动:安全环保标语8字_安全环保标语有哪些?
信息:中国动力电池发展正当其时 锂电隔膜产业乘势而上
世界今日报丨使用 PC 端浏览器开发者工具对移动端真机环境 Web 页面进行远程调试
每日看点!Microsoft edge锁定在任务栏上,被修改主页360的解决方法
全球热消息:深圳一公司发文拒招已婚未育员工:回应如此大言不惭
世界新动态:郭明錤:iPhone 15全系灵动岛 苹果升级传感器后体验更强大了
全球热点评!蜗牛的资料和特点分别是什么
天天新消息丨Midjourney AI绘画使用指南
Django笔记七之ManyToMany和OneToOne介绍
4K 3D 高帧率重制!《泰坦尼克号》重映预售开启:4月3日上映
热推荐:沪一男子多次在五星级酒店开房,记录和发票被“神秘女”轻松拿走?细思极恐...
【金融街发布】人民银行:2月发行各类债券54724.3亿元
债市日报:3月24日
天天滚动:外卖小哥专属!美团发布头盔新专利:手不脱把接电话
【世界报资讯】库克现身北京三里屯正面“面对”小米!网友手持小米13 Pro合影太吸睛
当前速看:马斯克要建自己的乌托邦城市:美国当地居民这下不淡定了
每日短讯:正式定档4月26日!米哈游大作《崩坏:星穹铁道》公测官宣
快消息!PaddleOCR之高性能Go语言实现OCR识别
环球报道:《暗黑破坏神4》新手入门图文攻略:游戏系统介绍与开荒指南
天天日报丨男孩名字含“坤”被嘲笑抑郁自残 被起绰号“鸡哥”:网友吐槽太过分
环球要闻:监控拍到浙江一车辆撞倒行人后又倒回碾压!官方通报来了
全球快资讯丨金价一路狂飙 有人8斤黄金变现174万:国内中老年狂买 还有人已赚32万元
世界热头条丨暴雪计划进行压力测试:《暗黑破坏神4》公测版排队依旧
以志愿服务赋能基层治理,金山卫镇这样做
9个都要了解的单行Python代码
每日看点!优化不够DLSS来凑 iGame RTX 4080显卡实战《卧龙》:4K轻松百帧
环球热点!男子驾车疯狂违章 上传视频炫耀自曝!后续舒适
169元 红魔散热器4磁吸版上市:20W满血功率、可控RGB灯效
环球热讯:苹果CEO库克现身北京三里屯零售店!众多粉丝合影 有人用小米13自拍
上海嘉定新城发展完成5亿元中票发行 利率3.20%
环球速讯:Leetcode Practice -- 字符串
第133篇:事件处理与常用事件
每日简讯:PLG SaaS 产品 Figma 商业模式拆解
1.爬虫的简介
世界时讯:python超时处理方法eventlet的eventlet.Timeout
全球资讯:【新华解读】REITs推出支持消费重要举措 消费基础设施可发行REITs
环球通讯!【财经分析】瑞信债务减记外溢影响可控 欧洲其他大型银行信用状况未受波及
【金融街发布】证券公司App“一键打新”功能将迎三大变化
每日热议!电池连续6年世界第一 宁德时代表态不会去造车
环球精选!95后设计师辞职当动物饲养员:上班以后非常开心
小金刚品质 Note 12 Turbo首发福利:免费送碎屏险
世界今头条!PC真的没落了!我国网民使用手机上网比例达99.8%:占比遥遥领先
每日关注!2023年国剧最高分!剧版《三体》豆瓣涨至8.7分:超36万人评价