我想让自己编写一些基于GUI的严肃应用程序,但是当我从Java中查看Swing/SWT这样的东西时,我忍不住通过创建"widget"对象并填充它们并调用方法来编写GUI界面.他们.
我认为GUI设计应该在一个单独的基于文本的文件中以某种标记格式完成,这种格式是读取和呈现的(例如HTML),因此接口的设计与其余代码没有紧密耦合.
我见过HTMLayout并且我喜欢这个想法,但到目前为止它似乎只在C++中.
我正在寻找一个python库(甚至是一个WIP项目)来做基于标记的gui.
UPDATE
我不能接受QT的xml的原因与我讨厌编程方法的原因相同; 您将单独组装每个窗口小部件,并在单独的行上指定它的每个属性.与编程方式相比,它没有任何优势.
关于html表单,一个非常常见的标记模式是:
<form ...>
<p>
<label>Name:</label>
<input .../>
</p>
<p>
<label>Birthdate:</label>
<input .../>
</p>
..
<input type=submit/>
</form>
Run Code Online (Sandbox Code Playgroud)
您通常提供多少标记(类等)以允许表单的最灵活的可视化格式?也就是说,您添加了多少标记来帮助您的css选择器并使用通用选择器?
<form ...>
<p class='name'>
<label>Name:</label>
<input .../>
</p>
<p class='birthdate'>
<label>Birthdate:</label>
<input .../>
</p>
..
<input type=submit/>
</form>
Run Code Online (Sandbox Code Playgroud)
与
<form class='person' ...>
<p class='name string'>
<label>Name:</label>
<input .../>
</p>
<p class='birthdate date'>
<label>Birthdate:</label>
<input .../>
</p>
..
<input type=submit/>
</form>
Run Code Online (Sandbox Code Playgroud)
在第二种情况下,直接从数据库添加泛型类型("日期")可以更容易地一致地格式化日期字段.包装分组("人")以显示字段来自的模型也可以提供帮助.(或者我可以使用内部DIV.)然而,为了增加css重用,我发现自己添加了额外的标记.在我读过的一些书中,我听说标记越少越好(虽然这对我来说是真的很粗糙).例如,我很可能已使用其中一个先前块的标记,并为css添加了更多选择器.
决定标记有多大意义的原则是什么?或者在css方面放多少钱?
此外,我知道我可以选择输入的名称,但由于这是一个嵌套元素,我失去了从外部包装器("p")控制格式的能力,这通常是我想要额外控制的地方.
有什么区别是导航和html5菜单之间的用法?
导航或菜单,哪一个?
我正在阅读如何通过在标记中添加属性来使用SqlDataSource对象,而对于ConnectionString属性,作者使用类似的东西
<asp:SqlDataSource ... ConnectionString="<%$ ConnectionStrings:lyric %>" ... >
Run Code Online (Sandbox Code Playgroud)
使用<%$%>对我来说是新的,作者并没有真正解释它.我的意思是,我很容易看到它在这种情况下的作用.
但是,我想学习<%$%>中的语法来访问Web Config中的其他内容.我不知道这种类型的标记是什么,所以我不能谷歌它.我很难找到它.
像<%@%>,<%#%>和<%$%>这样的标签是否有特殊的毯子名称?(所以我可以学习其他变化)是否有<%$%>的特定名称?(所以我可以查阅并学习语法)
提前致谢
我正在使用Groovy 1.8 XML MarkupBuilder来构建包含<script>标记的HTML页面.
当我在Firefox 18中加载页面时,我看到一个空白页而不是预期的结果.
这似乎是由于生成的<script>标签没有补充</script>标签,即使没有内容可以保证</script>标签.(参见:https://stackoverflow.com/questions/69913/why-dont-self-closing-script-tags-work)
样本Groovy代码:
def builder = new groovy.xml.MarkupBuilder( out )
builder.html {
head {
script( type:'text/javascript', src:'//example.com/example.js' )
}
body {
p("Hello...Newman.")
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用Firefox的"查看页面源"(Ctrl-U)检查(空白)呈现页面的HTML,我看到:
<html>
<head>
<script type='text/javascript' src='//example.com/example.js />
</head>
<body>
<p>Hello...Newman.</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
仔细观察,我看到<script ... />标签上的'/' 呈现为红色,'/'上的悬停文本表示在非空HTML元素上使用的"自闭语法("/>").忽略斜线和处理作为开始标记."
那么,如何<script>使用Groovy XML MarkupBuilder 生成有效的HTML 标记?
我有一个问题,我必须使用pd4ml工具生成pdf.它适用于除第一页以外的所有页面.
我使用了以下几行代码.
Page2和Page3工作正常,没有任何问题.但是第一页不接受htmlwidth ="1335"(而是需要640这是默认值).
注意:这适用于windows中的pd4ml.jar.当使用linux服务器生成pdf时出现问题.
任何帮助将非常感激.
<!DOCTYPE html>
<html>
<head>
<title>TITLE</title>
<style type="text/css" media="all">
* {margin: 0;padding: 0;}
body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:#333;width: 1335px;}
table{border:0; border-spacing:0;width: 100%;}
table td{vertical-align: top;-webkit-text-size-adjust: none;}
img{border: 0;page-break-inside: avoid;}
</style>
</head>
<body>
<pd4ml:page.footer>
footer text goes here
</pd4ml:page.footer>
<pd4ml:page.header>
header text goes here
</pd4ml:page.header>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
Page 1 content
</pd4ml:page.break>
</div>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
page 2 content
</pd4ml:page.break>
</div>
<div class="container" style="margin: 0;">
<pd4ml:page.break htmlwidth="1335"/>
page 3 content
</pd4ml:page.break>
</div>
</body>
</html> …Run Code Online (Sandbox Code Playgroud) Mediawiki最好的WYSIWYG编辑器是什么?似乎周围有许多,但不是特别用户友好(特别是像桌子这样的东西).谁知道目前最好的产品是什么?
我们主要将wiki用于文档(内部),而不是实际的encycopedia类型操作(即引用和引用不太重要).但我希望它尽可能方便用户使用 - 所以不要让用户学习维基媒体标记(wikitext)会很棒......
我已经在 Github 上为我的项目创建了 MIT 许可证。它添加了一个许可证文件,现在显示为 MIT 许可证。
我访问了 Shields.IO,它建议了我的存储库的链接。其中之一是执照徽章。
我已使用标记将其添加到我的自述文件中,并且除许可证徽章之外的所有其他徽章均有效。
我还通过请求特权来允许向我的 Github 发起屏蔽请求。
我还需要做些什么才能让它发挥作用吗?
我假设 Shields 会读取存储库内的 Github 许可证文件来获取许可证类型?
我正在使用 typest 渲染一些东西,我想要并排显示 2 个图像,我弄清楚了如何垂直获取东西:
#figure(
(image("eulerian.svg", width: 10%),
image("lagrangian.svg", width: 10%)).join(),
caption: [A curious figure.],
) <glacier>
Run Code Online (Sandbox Code Playgroud)
我现在想知道如何使事情水平化。