我有一个带有大型 GUI 的程序。GUI 分为几个选项卡。用于管理 GUI 的代码(例如,一个选项卡包含一个完整的 Windows 资源管理器克隆)非常大。
将如此大的 GUI 拆分为多个文件但又不将 GUI 拆分为多种形式(在运行时)的最佳方法是什么?
我可以找到一些如何使用标准模型和标准视图的示例。
http://doc.qt.io/qt-5/modelview.html
http://doc.qt.io/qt-5/qtwidgets-itemviews-simplewidgetmapper-example.html
但我就是找不到一个如何使用QAbstractModelmake my ownmodel并自行使用它的示例view/widget。
更新模型后,支架视图将更新,但我自己的视图不会更新。
完整代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import (QWidget, QLabel, QDataWidgetMapper,
QLineEdit, QApplication, QGridLayout)
from PyQt5.QtCore import QAbstractListModel, Qt
from PyQt5.QtWidgets import QListView
class Window(QWidget):
def __init__(self, model, parent=None):
super(Window, self).__init__(parent)
self.model = model
# Set up the widgets.
nameLabel = QLabel("Na&me:")
nameEdit = QLineEdit()
# Set up the mapper.
self.mapper = QDataWidgetMapper(self)
self.mapper.setModel(self.model)
self.mapper.addMapping(nameEdit, 0)
layout = QGridLayout()
layout.addWidget(nameLabel, 0, 0, 1, 1) …Run Code Online (Sandbox Code Playgroud) 我想以编程方式更改主视图中的背景颜色(我正在使用 Swift 创建一个应用程序)。我尝试将此代码放入 viewDidLoad() 但它不起作用。这样做的正确方法是什么?
override func viewDidLoad() {
super.viewDidLoad()
...
let myBackground = UIView()
let colorWhite = UIColor(red: 255, green: 255, blue: 255, alpha: 1)
myBackground.backgroundColor = colorWhite
...
}
}
Run Code Online (Sandbox Code Playgroud) 我是第一次使用该Kivy库,并尝试使用TabbedPanel. 我会设置每个选项卡的大小(x在代码中TabbedPanelItem)以适合整个TabbedPanel宽度,但如果我在文件中使用height或,似乎它们不起作用。size_hint.kv
这是我的 kv 代码:
#:import sm kivy.uix.screenmanager
ScreenManagement:
transition: sm.FadeTransition()
SecondScreen:
<SecondScreen>:
tabba: tabba
name: 'second'
FloatLayout:
background_color: (255, 255, 255, 1.0)
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.10
pos_hint: {'top': 1.0}
canvas:
Color:
rgba: (0.98, 0.4, 0, 1.0)
Rectangle:
pos: self.pos
size: self.size
Label:
text: 'MyApp'
font_size: 30
size: self.texture_size
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.90
Tabba:
id: tabba
BoxLayout:
orientation: 'vertical'
size_hint: 1, 0.10 …Run Code Online (Sandbox Code Playgroud) 我有一个程序可以计算 .txt 文件中数字的出现次数并将其显示为直方图(条形图)。我想添加 y 轴和 x 轴,但我不知道该怎么做。另外,我想在条形图窗口上显示带有数字计数和类数的标签,但现在它在第一个窗口上显示它们,我不知道为什么。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import javax.swing.JComponent;
import javax.swing.border.EmptyBorder;
class Start extends JFrame implements ActionListener {
private JButton open;
private JLabel label1;
private JLabel label2;
ArrayList<Integer> list = new ArrayList<>();
Map<Integer, Integer> counts = new HashMap<>();
public int counter() {
return list.size();
}
public Start() {
setSize(500, 300);
setTitle("First window");
open = new JButton("OPEN");
open.setSize(100, 30); …Run Code Online (Sandbox Code Playgroud) 这是我想做的一个例子:
我尝试这样做的结果非常糟糕:
包含 CardView 和 ImageView 、2 个 TextView 和 ButtonImage 的 XML 代码:
这是我的 XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.CardView
android:id="@+id/cardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:background="@color/card"
app:cardCornerRadius="5dp"
app:cardElevation="6dp"
app:cardMaxElevation="10dp"
app:contentPadding="25dp">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/masarImg"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="auto"
android:scaleType="centerCrop" />
<TextView
android:id="@+id/masarTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/mapBtn"
android:layout_alignParentStart="true"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="43dp"
android:background="#AA000000"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="24dp"
android:text="SomeText"
android:textColor="#ffffffff"
android:textSize="24sp" />
<TextView
android:id="@+id/descreption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/mapBtn"
android:layout_alignParentStart="true"
android:layout_gravity="center_horizontal"
android:background="#AA000000"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:text="SomeText"
android:textColor="#ffffffff"
android:textSize="14sp" />
<ImageButton
android:id="@+id/mapBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" …Run Code Online (Sandbox Code Playgroud) 我正在VB6环境下工作。我有一个文本框,我需要根据我的setting.inf 文件更改其背景颜色。
TextBox.BackColor = "&H00C0FFFF&"
Run Code Online (Sandbox Code Playgroud)
我想将其更改为黄色值(&H00C0FFFF&)但无法使其工作。知道出了什么问题吗?
我一直在使用 python tkinter 制作一些 gui 应用程序。在 tkinter 中,pack 和 grid 不能一起使用。在编写代码时,我必须使用 pack,然后我需要使用 2 个名为“Cloumn”和“row”的网格功能,但是是不可能的。
from tkinter import *
root = Tk()
button = Button(root, text="Click Me")
button.pack(side="bottom") #But I want to put that button in row=3
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
我需要将该按钮放在第 3 行。但是我该怎么做呢?有什么办法可以做到吗?
我正在编写一个操作系统并希望有 GUI。我找不到在屏幕上绘制像素的好教程。
我想要一些程序集 + C 示例,我可以在 BOCHS 或v86等模拟器上构建和运行它
我的不确定水平进度条的速度绝对是太快了。
当我的应用程序加载(启动画面)时,我的进度条显示。
有人有降低移动杆速度的想法吗?目前它的工作原理看起来非常愚蠢。
预先感谢您的帮助和想法!:-)
user-interface ×10
android ×2
python ×2
awt ×1
background ×1
charts ×1
delphi ×1
java ×1
kivy ×1
layout ×1
osdev ×1
progress-bar ×1
pyqt ×1
python-3.x ×1
qt ×1
swift ×1
swing ×1
tkinter ×1
tvos ×1
vb6 ×1