卡西欧男士手表大全手表上面一直是H-SET调不了是为什么

8595人阅读
android源码分析(5)
Settings N预览
android N 在Settings中作了一些调整,如上面的截图。
- 增加了侧滑菜单,采用v4下的DrawerLayout来实现;
- 在Settings主界面增加了Condition,能够在设置列表中显示状态;
- 在Settings主界面增加了Suggestion。
Dashboard category数据的加载
首先来看下Settings的Dashboard category,dashboard的中文意思指的是仪表板,在Settings中指的是Settings中显示的选项,如WLAN,Bluetooth这样的,参见上面的预览图片。
在android M中,dashboard的加载是放在SettingsActivity中,而且Settings/res/xml/dashboard_categories.xml这个文件专门用来描述dashboard的整体结构,参见下图。
在Settings N中,则将dashboard这部分的逻辑抽取了出来,放在/frameworks/base/packages/SettingsLib/目录下。N中不再使用dashboard_categories.xml这个文件来描述Settings各选项的架构,而且将Dashboard的初始化放在SettingsLib中来处理,首先看下面的图片:
Settings AndroidManifest.xml
SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
在TileUtils中定义的Actions,用于标记Activity属于哪一个Dashboard category
* Same as #EXTRA_SETTINGS_ACTION but used for the platform Settings activities.
private static final String SETTINGS_ACTION =
"com.android.settings.action.SETTINGS";
private static final String OPERATOR_SETTINGS =
"com.android.settings.OPERATOR_APPLICATION_SETTING";
private static final String OPERATOR_DEFAULT_CATEGORY =
"com.android.settings.category.wireless";
private static final String MANUFACTURER_SETTINGS =
"com.android.settings.MANUFACTURER_APPLICATION_SETTING";
private static final String MANUFACTURER_DEFAULT_CATEGORY =
"com.android.settings.category.device";
Categories定义在Settings/res/values/donottranslate.xml中,分为四个大的Category,如下代码
Settings/res/values/donottranslate.xml
&string name="category_key_wireless"&com.android.settings.category.wireless&/string&
&string name="category_key_device"&com.android.settings.category.device&/string&
&string name="category_key_personal"&com.android.settings.category.personal&/string&
&string name="category_key_system"&com.android.settings.category.system&/string&
TileUtils.java中定义的Meta Data
Name of the meta-data item that should be set in the AndroidManifest.xml
to specify the icon、the title、the summary that should be displayed for the preference.
public static final String META_DATA_PREFERENCE_ICON = "com.android.settings.icon";
public static final String META_DATA_PREFERENCE_TITLE = "com.android.settings.title";
public static final String META_DATA_PREFERENCE_SUMMARY = "com.android.settings.summary";
Meta data会在AndroidManifest.xml进行配置,在TileUtils.java中加载Dashboard Category的时候,会通过PackageManager获得各个Activity的信息后,再动态的更新到页面上。(另外,我发现对于这些Dashboard的icon,title和Summary有的在AndroidManifest.xml中有配置meta-data有的却没有,我感觉这里应该用的是Activity节点下的icon,title(lablel),这部分如果要彻底搞清楚需要看PackageManager解析AndroidManifest.xml的逻辑,这里不作深究)。
接下来看在TileUtils.java代码中是对于Dashboard是如何处理的
上面的getCategories方法主要分为两个部分来看,首先通过PackageManager获得各个Category的信息保存到ArrayList中,接着对ArrayList中的数据按照优先级进行排序,这样主界面拿到这些数据就可以显示了。
Dashboard category的整体布局
看上面这幅图,从上而下分别是Condition,Suggestion和各个显示的Item项。
接下来我们来看这部分在代码中是如何构建的?
DashboardAdapter.java中的recountItems方法
private void recountItems() {
boolean hasConditions = false;
for (int i = 0; mConditions != null && i & mConditions.size(); i++) {
boolean shouldShow = mConditions.get(i).shouldShow();
hasConditions |= shouldS
countItem(mConditions.get(i), R.layout.condition_card, shouldShow, NS_CONDITION);
boolean hasSuggestions = mSuggestions != null && mSuggestions.size() != 0;
countItem(null, R.layout.dashboard_spacer, hasConditions && hasSuggestions, NS_SPACER);
countItem(null, R.layout.suggestion_header, hasSuggestions, NS_SPACER);
resetCount();
if (mSuggestions != null) {
int maxSuggestions = getDisplayableSuggestionCount();
for (int i = 0; i & mSuggestions.size(); i++) {
countItem(mSuggestions.get(i), R.layout.suggestion_tile, i & maxSuggestions,
NS_SUGGESTION);
resetCount();
for (int i = 0; mCategories != null && i & mCategories.size(); i++) {
DashboardCategory category = mCategories.get(i);
countItem(category, R.layout.dashboard_category, mIsShowingAll, NS_ITEMS);
for (int j = 0; j & category.tiles.size(); j++) {
Tile tile = category.tiles.get(j);
countItem(tile, R.layout.dashboard_tile, mIsShowingAll
|| ArrayUtils.contains(DashboardSummary.INITIAL_ITEMS,
tile.intent.getComponent().getClassName()), NS_ITEMS);
notifyDataSetChanged();
recountItems方法会在构建布局的时候多次调用,这个方法里面会在这里加入多个layout布局文件。
如上面的代码的注释标明部分:
这里使用countItem方法将各个布局加入到List中去,分别是下面三个集合
private final List&Object& mItems = new ArrayList&&();
private final List&Integer& mTypes = new ArrayList&&();
private final List&Integer& mIds = new ArrayList&&();
在将这些布局文件加入到List中去后,然后在onBindViewHolder去获取List中的内容,从而展示在页面上,这部分的逻辑就不再介绍了,大家有兴趣的可以去看看。
Settings Drawer的实现
N中的Settings使用DrawerLayout为Settings界面加入了侧滑菜单的功能。我们对比下M平台和N平台的Settings Activity的结构就大概明白了。
android N在在SettingsActivity上面构建了一个SettingsDrawerActivity,侧滑的功能则是在SettingsDrawerActivity中实现的,SettingsActivity位于SettingsLib下面。
接下来我们看看SettingsDrawerActivity这个类:
在SettingsDrawerActivity的onCreate方法中会加载settings_with_drawer这个文件。这个文件则是对左侧Drawer的布局文件的描述。如下code:
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="?android:attr/colorPrimaryDark"&
android:id="@+id/content_parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:fitsSystemWindows="true" &
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/actionBarStyle"&
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:navigationContentDescription="@*android:string/action_bar_up_description"
android:theme="?android:attr/actionBarTheme"
style="?android:attr/toolbarStyle"
android:background="?android:attr/colorPrimary" /&
android:id="@+id/content_header_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/actionBarStyle" /&
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:background="?android:attr/windowBackground" /&
android:id="@+id/left_drawer"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="?android:attr/colorBackground" /&
接着来看左侧Drawer的ListView的数据是如何加载的,这部分的逻辑由SettingsDrawerAdapter来实现。
如上截图,在SettingsDrawerAdapter的updateCategories方法中,添加最上面的home的图片和文件后,然后遍历装有DashboardCategory的集合,取出里面的DashboardCategory和其中的Tile存放到对应的集合中去,用于显示到页面上去。
Settings中的Condition
7.0中的Settings加入的Condition可以显示设置有些item的状态,并且提供快捷开关,在单击后,可以跳转到相应的Settings 页面。
在上文介绍DashboardCategory的整体布局的时候,介绍了Condition部分加载的文件是condition_card.xml文件
如上图和xml文件相对应,分别表明了各个控件的id。
condition_card.xml
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipChildren="false"
android:clipToPadding="false"&
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="?android:attr/colorAccent"
android:elevation="2dp"
android:clickable="true"
android:focusable="true"&
android:id="@+id/collapsed_group"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="?android:attr/selectableItemBackground"
android:orientation="horizontal"
android:gravity="center"&
android:id="@android:id/icon"
android:layout_width="24dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="32dp"
android:tint="?android:attr/textColorPrimaryInverse" /&
android:id="@android:id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="?android:attr/textColorPrimaryInverse" /&
android:id="@+id/expand_indicator"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="16dp"
android:tint="?android:attr/textColorPrimaryInverse"/&
android:id="@+id/detail_group"
android:layout_width="match_parent"
android:layout_height="0dp"
android:paddingStart="72dp"
android:visibility="gone"
android:orientation="vertical"&
android:id="@android:id/summary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingBottom="16dp"
android:textAppearance="?android:attr/textAppearanceListItemSecondary"
android:alpha=".7"
android:textColor="?android:attr/textColorPrimaryInverse" /&
android:id="@+id/divider"
android:layout_width="match_parent"
android:layout_height=".25dp"
android:background="@android:color/white" /&
android:id="@+id/buttonBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
android:paddingBottom="8dp"
style="?attr/buttonBarStyle"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"&
android:id="@+id/first_action"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingStart="0dp"
android:alpha=".8"
android:textAlignment="viewStart"
android:textColor="?android:attr/textColorPrimaryInverse"
style="?android:attr/buttonBarButtonStyle" /&
android:id="@+id/second_action"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:alpha=".8"
android:textAlignment="viewStart"
android:textColor="?android:attr/textColorPrimaryInverse"
style="?android:attr/buttonBarButtonStyle" /&
接着来看看Condition的继承层次:
我们拿AirplaneModeCondition来举例,在Settings的AndroidManifest.xml中注册了如下的Receiver:
android:name=".dashboard.conditional.AirplaneModeCondition$Receiver"
android:enabled="false"&
android:name="android.intent.action.AIRPLANE_MODE" /&
默认情况下这些Condition是关闭的,即enabled的。在这个Receiver中,会去接收这个广播,当Condition的状态改变的时候会去更新状态。
public void refreshState() {
setActive(WirelessUtils.isAirplaneModeOn(mManager.getContext()));
public static class Receiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_AIRPLANE_MODE_CHANGED.equals(intent.getAction())) {
ConditionManager.get(context).getCondition(AirplaneModeCondition.class)
.refreshState();
Settings中的Suggestion
suggestion能够在设置的主页面显示一些建议项,相当于为一些常用的功能界面添加入口,用户通过点击这些建议项可以跳到相应的页面进行操作,并且用户可以手动移除这些建议项。
如下面的截图,Suggestion页面分为两个
suggestion_header.xml和suggestion_tile.xml两个布局组成。
关于Suggestion的配置信息:
Suggestion默认的数量为2个,如上图所示,这个常量的设置是在DashboardAdapter.java里面。
private static final int DEFAULT_SUGGESTION_COUNT = 2;
另外这些Suggestion是以一种顺序来显示的,这个部分的配置是在suggestion_ordering.xml中配置的。
category="com.android.settings.suggested.category.LOCK_SCREEN" /&
category="com.android.settings.suggested.category.EMAIL" /&
category="com.android.settings.suggested.category.PARTNER_ACCOUNT"
multiple="true" /&
category="com.android.settings.suggested.category.HOTWORD" /&
category="com.android.settings.suggested.category.DEFAULT"
multiple="true" /&
category="com.android.settings.suggested.category.SETTINGS_ONLY"
multiple="true" /&
这里会通过SuggestionParser.java中new出来的SuggestionOrderInflater来解析这个文件,Suggestion相关的很多解析操作都是由SuggestionParser.java来处理的。
在SuggestionParser有以下的配置:
这个类中定义的常量会在Settings的AndroidManifest.xml使用。
如上图中定义的com.android.settings.require_feature的meta-data节点表示该Suggestion的显示需要特定的feature支持,对于FingerprintEnrollSuggestionActivity这个Suggestion的显示则需要指纹的支持。
另外对于META_DATA_DISMISS_CONTROL则控制着当前Suggestion的显示时机。正如上面截图的注释描述。
Allows suggestions to appear after a certain number of days, and to re-appear if dismissed.
For instance:
Will appear immediately, but if the user removes it, it will come back after 10 days.
Another example:
Will only show up after 10 days, and then again after 30.
这个属性允许Suggestion在特定的天数后显示,并且在被拒绝后重新显示。
0,10表示该Suggestion会立即显示,但是如果用户删除后,会在10天后再次显示。
10,30则表示在10天后显示,然后在30天之后再次显示。
以上就是对于android7.0Settings的一些新功能的分析,其实这部分还有很多东西没有详细地去分析,这部分只是做了简单的介绍。
另外,再去看源码的时候,发现Google的设计真的是厉害,而且自己很多时候都是从源码的功能去理解,其实从架构,性能方面考虑,源码都是非常优秀的,有很多值得学习的地方。卡西欧手表怎么调时间sgw一500h_百度知道
卡西欧手表怎么调时间sgw一500h
我有更好的答案
一、调时间:1、按住左上至闪烁 2、按左下选择需要设定的内容,按右上右下调整,内容依次是:时区、夏令时间、12/24小时制、秒、时、分、年、月、日、按键音、****、温度单位、高度单位、气压。3、调整好后按左上确认二、时针校准:1、在显示日期界面按左下6下,至显示星期栏显示H.SET2、按住左上至屏幕显示00:00,时针自动转动3、时针若自动对准12点,则按左上确认;若时针没对准12点,则按右上、右下调整至对准12点4、按左上确认完成设置。
采纳率:90%
来自团队:
处理提问(请点击选为满意回答)。&&nbsp卡西欧手表SGW-500H(5269)中文繁体说明书 &&& 点击下载(下载后 & 安装PDF阅读器打开浏览)&友情提示 :看到回复 &nbsp,手机提问者;注:说明书已上传至本页面,如果看不到上传文件请用电脑登陆下载
本回答被网友采纳
为您推荐:
其他类似问题
您可能关注的内容
卡西欧手表的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。卡西欧LAW-25D-4A不显示H-SET怎么办
你是要调指针时间是吧。这个容易,普通状态下,连按5下左下角按键,上方液晶会出现H-SET字样,这时候长按左上角按键,H-SET会变成当前时刻时间且开始闪动,这时...
答: 对呀,没洞怎么穿呀.这是个脑筋急转弯!
答: 我去了你个人中心,发现患者不是你本人,因之,我可以直说:
食道溃疡,虽病理组织报告,尚未出来,我看以恶性居多,可能为溃疡型食道癌,建议找专家咨询,如何处理?
答: 中医认为,任何事物都分为阴阳两个方面,人的肾也有肾阴和肾阳之分,肾功能障碍产生的原因可能是肾阴虚造成的,也可能是肾阳虚造成的,所以,补肾要查明原因,分型而补。
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415QWidget类参考
QWidget类是所有用户界面对象的基类。
#include &&
被、、、、、、、、、、、、、、、、、、、、、和继承。
( QWidget&*&parent = 0, const&char&*&name = 0, WFlags&f = 0 )
( QStyle&*&style )
( const&QString&&&style )
( QWidget&*&ancestor ) const
bool isEnabledToTLW () const &(obsolete)
const QRect &
( const QSize & )
virtual void
( int&minw, int&minh )
( const QSize & )
virtual void
( int&maxw, int&maxh )
( int&minw )
( int&minh )
( int&maxw )
( int&maxh )
( const QSize & )
virtual void
( int&w, int&h )
( const QSize & )
( int&basew, int&baseh )
( const&QSize&&&s )
( int&w, int&h )
( const&QPoint&&&pos ) const
( const&QPoint&&&pos ) const
( const&QPoint&&&pos ) const
( const&QPoint&&&pos ) const
( QWidget&*&parent, const&QPoint&&&pos ) const
( QWidget&*&parent, const&QPoint&&&pos ) const
BackgroundMode
virtual void
( BackgroundMode )
( BackgroundMode&m, BackgroundMode&visual )
const QColor &
const QColor &
virtual void
( const&QColor&&&color )
const QPixmap *
virtual void
( const&QPixmap&&&pixmap )
const QColorGroup &
const QPalette &
virtual void
( const QPalette & )
const QColor &
( const QColor & )
const QColor &
virtual void
( const QColor & )
const QPixmap *
virtual void
( const QPixmap & )
const QBrush &
virtual void
( const QFont & )
QFontMetrics
const QCursor &
virtual void
( const QCursor & )
virtual void
const QPixmap *
virtual void
( const&QBitmap&&&bitmap )
virtual void
( const&QRegion&&&region )
const QColor & backgroundColor () const &(obsolete)
virtual void setBackgroundColor ( const&QColor&&&c ) &(obsolete)
const QPixmap * backgroundPixmap () const &(obsolete)
virtual void setBackgroundPixmap ( const&QPixmap&&&pm ) &(obsolete)
{ NoFocus = 0, TabFocus = 0x1, ClickFocus = 0x2, StrongFocus = 0x3, WheelFocus = 0x7 }
virtual void
FocusPolicy
virtual void
( FocusPolicy )
virtual void
( QWidget&*&w )
( const&QCursor&&&cursor )
virtual bool
( bool&alsoDelete )
( QWidget&*&ancestor ) const
bool isVisibleToTLW () const &(obsolete)
virtual QSize
virtual QSize
virtual QSizePolicy
virtual void
( QSizePolicy )
virtual int
( int&w ) const
virtual void
virtual void
( QWidget&*&parent, WFlags&f, const&QPoint&&&p, bool&showIt = FALSE )
( QWidget&*&parent, const&QPoint&&&p, bool&showIt = FALSE )
void recreate ( QWidget&*&parent, WFlags&f, const&QPoint&&&p, bool&showIt = FALSE ) &(obsolete)
( int&x, int&y, int&w, int&h )
( const&QRect&&&r )
( const&QRegion&&&reg )
( int&dx, int&dy )
( int&dx, int&dy, const&QRect&&&r )
( int&x, int&y, const&QString&&&str )
( const&QPoint&&&pos, const&QString&&&str )
virtual void
( bool&on )
virtual void
{ WidgetOrigin, ParentOrigin, WindowOrigin }
virtual void
( BackgroundOrigin )
BackgroundOrigin
virtual bool
( bool&sameWindow = FALSE ) const
( WFlags&f ) const
( int&x, int&y, bool&includeThis = FALSE ) const
( const&QPoint&&&p, bool&includeThis = FALSE ) const
void setPalette ( const&QPalette&&&p, bool ) &(obsolete)
void setFont ( const&QFont&&&f, bool ) &(obsolete)
virtual void
( bool&disable )
virtual void
( const QString & )
virtual void
( const QPixmap & )
virtual void
( const QString & )
virtual void
( bool&enable )
virtual void
virtual void
( bool&enable )
( int&x, int&y, int&w, int&h )
( const&QRect&&&r )
( bool&erase )
( int&x, int&y, int&w, int&h, bool&erase = TRUE )
( const&QRect&&&r, bool&erase = TRUE )
( const&QRegion&&&reg, bool&erase = TRUE )
virtual void
virtual void
void iconify () &(obsolete)
virtual void
virtual void
virtual void
virtual void
( QWidget&*&w )
virtual void
( int&x, int&y )
( const QPoint & )
virtual void
( int&w, int&h )
( const QSize & )
virtual void
( int&x, int&y, int&w, int&h )
virtual void
( const QRect & )
静态公有成员
( QWidget&*&first, QWidget&*&second )
( WId&id )
bool &- 窗口部件中放下事件是否有效
bool &- 窗口部件中自动面具特征是否有效
QBrush &- 窗口部件的背景画刷&(只读)
BackgroundMode &- 绘制窗口部件背景所使用的颜色模式
BackgroundOrigin &- 窗口部件的背景的原点
QSize &- 窗口部件的基础大小
QString &- 窗口标题
QRect &- 窗口部件的子对象的边界矩形&(只读)
QRegion &- 窗口部件的子对象所占用的组合区域&(只读)
QColorGroup &- 窗口部件调色板的当前颜色组&(只读)
QCursor &- 窗口部件的光标外形
bool &- 窗口部件是否手动处理“这是什么”的帮助&(只读)
bool &- 窗口部件是否有效
bool &- 窗口部件(或者它的焦点代理)是否得到键盘输入焦点&(只读)
bool &- 窗口部件是否接收键盘焦点&(只读)
FocusPolicy &- 窗口部件接收键盘焦点的策略
QFont &- 窗口部件当前的字体集
QRect &- 相对于它的父对象包含任何窗口框架的窗口部件的几何形状&(只读)
QSize &- 包含任何窗口框架的窗口部件的大小&(只读)
QRect &- 相对于它的父对象不包括窗口框架的窗口部件的几何形状
int &- 不包括窗口框架的窗口部件的高度&(只读)
bool &- 窗口部件是否明确地隐藏&(只读)
QPixmap &- 窗口部件图标像素映射
QString &- 窗口部件图标文本
bool &- 窗口部件或者它的一个子对象是否是活动窗口&(只读)
bool &- 窗口部件是否是桌面窗口部件,比如,代表桌面&(只读)
bool &- 窗口部件是否是对话框窗口部件&(只读)
bool &- 窗口部件是否是模式窗口部件&(只读)
bool &- 窗口部件是否是弹出窗口部件&(只读)
bool &- 窗口部件是否是顶级窗口部件&(只读)
int &- 窗口部件的最大高度
QSize &- 窗口部件的最大大小
int &- 窗口部件的最大宽度
QRect &- 窗口部件的当前设置的微焦点提示&(只读)
bool &- 窗口部件是否是最小化的(变为图标了)&(只读)
int &- 窗口部件的最小高度
QSize &- 窗口部件的最小大小
QSize &- 建议的窗口部件最小大小&(只读)
int &- 窗口部件的最小宽度
bool &- 窗口部件跟踪鼠标是否生效
bool &- 窗口部件是否使用它自己的光标&(只读)
bool &- 窗口部件是否使用它自己的字体&(只读)
bool &- 窗口部件是否使用它自己的调色板&(只读)
QPalette &- 窗口部件的调色板
QColor &- 窗口部件的背景色
QPixmap &- 窗口部件的背景像素映射
QColor &- 窗口部件的前景色
QPoint &- 窗口部件在它的父窗口部件中的位置
QRect &- 不包含任何窗口框架的窗口部件的内部几何形状&(只读)
QSize &- 不包含任何窗口框架的窗口部件的大小
QSize &- 建议的窗口部件大小&(只读)
QSize &- 窗口部件的大小增量
QSizePolicy &- 窗口部件的默认布局行为
bool &- 窗口部件是否在鼠标光标下&(只读)
bool &- 更新是否生效
bool &- 窗口部件是否可视&(只读)
QRect &- 窗口部件的当前可视矩形&(只读)
int &- 不包含任何窗口框架的窗口部件宽度&(只读)
int &- 相对于它的父对象包含任何窗口框架的窗口部件的x坐标&(只读)
int &- 相对于它的父对象包含任何窗口框架的窗口部件的y坐标&(只读)
virtual bool
( QEvent&*&e )
virtual void
( QMouseEvent&*&e )
virtual void
( QMouseEvent&*&e )
virtual void
( QMouseEvent&*&e )
virtual void
( QMouseEvent&*&e )
virtual void
( QWheelEvent&*&e )
virtual void
( QKeyEvent&*&e )
virtual void
( QKeyEvent&*&e )
virtual void
( QFocusEvent * )
virtual void
( QFocusEvent * )
virtual void
( QEvent * )
virtual void
( QEvent * )
virtual void
( QPaintEvent * )
virtual void
( QMoveEvent * )
virtual void
( QResizeEvent * )
virtual void
( QCloseEvent&*&e )
virtual void
( QContextMenuEvent&*&e )
virtual void
( QIMEvent&*&e )
virtual void
( QIMEvent&*&e )
virtual void
( QIMEvent&*&e )
virtual void
( QTabletEvent&*&e )
virtual void
( QDragEnterEvent * )
virtual void
( QDragMoveEvent * )
virtual void
( QDragLeaveEvent * )
virtual void
( QDropEvent * )
virtual void
( QShowEvent * )
virtual void
( QHideEvent * )
virtual bool
virtual bool
virtual bool
( XEvent * )
virtual bool
( QWSEvent * )
virtual void
virtual void
( QStyle&&&oldStyle )
virtual void
( bool&oldEnabled )
virtual void
( const&QPalette&&&oldPalette )
virtual void
( const&QFont&&&oldFont )
virtual void
( bool&oldActive )
virtual int
( int&m ) const
virtual void
( WId&window = 0, bool&initializeWindow = TRUE, bool&destroyOldWindow = TRUE )
virtual void
( bool&destroyWindow = TRUE, bool&destroySubWindows = TRUE )
virtual void
( WFlags&f )
( WFlags&f )
virtual bool
( bool&next )
QFocusData *
virtual void
( bool&compress )
virtual void
( int&x, int&y, int&width, int&height, bool&text = TRUE, QFont&*&f = 0 )
QWidget类是所有用户界面对象的基类。
窗口部件是用户界面的一个原子:它从窗口系统接收鼠标、键盘和其它事件,并且在屏幕上绘制自己的表现。每一个窗口部件都是矩形,并且它们按Z轴顺序排列的。一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分。
是最普通的顶级窗口。不被嵌入到一个父窗口部件的窗口部件被叫做顶级窗口部件。通常情况下,顶级窗口部件是有框架和标题栏的窗口(尽管如果使用了一定的窗口部件标记,创建顶级窗口部件时也可能没有这些装饰。)在Qt中,和和不同的的子类是最普通的顶级窗口。
一个没有父窗口部件的窗口部件一直是顶级窗口部件。
非顶级窗口部件是子窗口部件。它们是它们的父窗口部件中的子窗口。你通常不能在视觉角度从它们的父窗口部件中辨别一个子窗口部件。在Qt中的绝大多数其它窗口部件仅仅作为子窗口部件才是有用的。(当然把一个按钮作为或者叫做顶级窗口部件也是可能的,但绝大多数人喜欢把他们的按钮放到其它按钮当中,比如QDialog。)
QWidget有很多成员函数,但是它们中的一些有少量的直接功能:例如,QWidget有一个字体属性,但是它自己从来不用。有很多继承它的子类提供了实际的功能,比如、和等等。
函数分组:
上下文 函数
()、()、()、()、()。
()、()、()、()、()、()、()、()、()、()、()、()。
()、()、()、()、()。
()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()。
()、()、()、()、()、()、()、()、()、()、()、()、()、()、()。
()、()、()、()、()、()、()、()、()、()、()、()、()。
()、()、()、()、()、()、()、()。
鼠标和键盘捕获
()、()、()、()、()、()。
事件处理器
()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()、()。
变化处理器
()、()、()、()、()。
()、()、()、()、()、()、()。
这是什么的帮助
内部核心函数
()、wmapper()、()、()、()、()。
每一个窗口部件构造函数接受两个或三个标准参数:
QWidget *parent = 0是新窗口部件的父窗口部件。如果为0(默认),新的窗口部件将是一个顶级窗口部件。如果不是,它将会使parent的一个孩子,并且被parent的几何形状所强迫(除非你指定作为)。
const char *name = 0是新窗口部件的窗口部件名称。你可以使用()来访问它。窗口部件名称很少被程序员用到,但是对于图形用户界面构造程序,比如Qt设计器,是相当重要的(你可以在Qt设计器中命名一个窗口部件,并且在你的代码中使用这个名字来它)。()调试函数也使用它。
WFlags f = 0(在可用的情况下)设置窗口部件标记,默认设置对于几乎所有窗口部件都是适用的,但是,举例来说,一个没有窗口系统框架的顶级窗口部件,你必须使用特定的标记。
tictac/tictac.cpp实例程序是一个简单窗口部件的好实例。它包含了一些的事件处理器(就像所有窗口部件所必须的那样)、一些被指定给它的定制处理(就像所有有用的窗口部件做的那样)并且还有一些孩子和联机。它所做的每一件事都响应对应的一个事件:这是到目前为止设计图形用户界面的最普通的方式。
你自己将需要为你的窗口部件提供内容,但是这里是一些简要的运行事件,从最普通的开始:
() - 只要窗口部件需要被重绘就被调用。每个要显示输出的窗口部件必须实现它并且不在paintEvent()之外在屏幕上绘制是明智的。
() - 当窗口部件被重新定义大小时被调用。
() - 当鼠标键被按下时被调用。有六个鼠标相关事件,但是鼠标按下和鼠标释放事件是到目前为止最重要的。当鼠标在窗口部件内或者当它使用()来捕获鼠标时,它接收鼠标按下事件。
() - 当鼠标键被释放时被调用。当窗口部件已经接收相应的鼠标按下事件时,它接收鼠标释放事件。这也就是说如果用户在你的窗口部件内按下鼠标,然后拖着鼠标到其它某个地方,然后释放,你的窗口部件接收这个释放事件。这里有一个例外:如果出现在弹出菜单中,当鼠标键被按下时,这个弹出菜单立即会偷掉这个鼠标事件。
() - 和它看起来也许不太一样。如果用户双击,窗口部件接收一个鼠标按下事件(如果他们没有拿牢鼠标,也许会出现一个或两个鼠标移动事件)、一个鼠标释放事件并且最终是这个事件。直到你看到第二次点击是否到来之前,不能从一个双击中辨别一个点击。(这是为什么绝大多数图形用户界面图书建议双击是单击的一个扩展,而不是一个不同行为的触发的一个原因。)
如果你的窗口部件仅仅包含子窗口部件,你也许不需要实现任何一个事件处理器。如果你想检测在子窗口部件中的鼠标点击,请在父窗口部件的()中调用子窗口部件的()函数。
接收键盘的窗口部件需要重新实现一些更多的事件处理器:
() - 只要键被按下和当键已经被按下足够长的时间可以自动重复了就被调用。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现()。
() - 当窗口部件获得键盘焦点(假设你已经调用())时被调用。写得好的窗口部件意味着它们能按照一种清晰但谨慎的方式来获得键盘焦点。
() - 当窗口部件失去键盘焦点时被调用。
一些窗口部件也许需要实现一些不太普通的事件处理器:
() - 只要当鼠标键被按下时鼠标移动就会被调用。举例来说,对于拖动,这个很有用。如果你调用(TRUE),尽管没有鼠标键被按下,你也会获得鼠标移动事件。(注意这个使用鼠标跟踪的应用程序在低下的X连接下不是很有用。)(也可以参考信息。)
() - 只要键被释放和当如果这个键是自动重复的并且被按下一段时间时就被调用。在这种情况下窗口部件接收一个键释放事件并且对于每一个重复立即有一个键按下事件。注意如果Tab和Shift+Tab键被用在焦点变换机制中,它们仅仅被传递给窗口部件。为了强迫那些键被你的窗口部件处理,你必须重新实现()。
() -- 当窗口部件拥有焦点时,只要用户转动鼠标滚轮就被调用。
() - 当鼠标进入这个窗口部件屏幕空间时被调用。(这不包括被这个窗口部件的子窗口部件所拥有的屏幕空间。)
() - 当鼠标离开这个窗口部件的屏幕空间时被调用。
() - 当窗口部件相对于它的父窗口部件已经被移动时被调用。
() - 当用户关闭窗口部件时(或这当()被调用时)被调用。
这里还有一些不太明显的事件。它们在中被列出并且你需要重新实现()来处理它们。event()的默认实现处理Tab和Shift+Tab(移动键盘焦点)并且其它绝大多数事件给上面提到的一个或更多的特定处理器。
当实现一个窗口部件时,还有一些更多的事情要考虑。
在构造函数中,在你可能收到一个事件的任何机会之前,请确认尽早地设置你的成员变量。
重新实现()在绝大多数情况下都是很有用的并且使用(),来设置正确的大小策略,这样你的同事可以更容易地设置布局管理器。一个大小策略可以让你为布局管理器提供好的默认情况,这样其它窗口部件可以很容易地包含和管理你的窗口部件。sizeHint()为这个窗口部件说明一个“好的”大小。
如果你的窗口部件是一个顶级窗口部件,()和()分别设置标题栏和图标。
也可以参考、、、和。
成员类型文档
QWidget::BackgroundOrigin
这个枚举变量定义了用于绘制窗口部件背景像素映射的原点。
被绘制的像素映射使用:
QWidget::WidgetOrigin - 窗口部件的坐标系统。
QWidget::ParentOrigin - 父窗口部件的坐标系统。
QWidget::WindowOrigin - 顶级窗口的坐标系统。
QWidget::FocusPolicy
这个枚举变量定义了一个窗口部件获得所依据的不同策略。
policy可以是:
QWidget::TabFocus - 窗口部件通过Tab获得焦点。
QWidget::ClickFocus - 窗口部件通过点击获得焦点。
QWidget::StrongFocus - 窗口部件通过Tab和点击获得焦点。
QWidget::WheelFocus - 像StrongFocus那样加上窗口部件通过使用鼠标滚轮获得焦点。
QWidget::NoFocus - 窗口部件不接收焦点。
成员函数文档
QWidget::QWidget ( &*&parent = 0, const&char&*&name = 0, WFlags&f = 0 )
构造一个是parent的孩子、名称为name并且窗口部件标记为f的窗口部件。
如果parent为0,新的窗口部件变为顶级窗口。如果parent是另一个窗口部件,这个窗口部件变为parent中的一个子窗口。当它的parent被删除时,新的窗口部件被删除。
name被发送给的构造函数。
窗口部件标记参数f通常为0,但它可以为顶级窗口部件设置自定义的窗口框架(比如,parent必须为0)。为了自定义框架,设置标记和任何一个进行或运算。
如果你向一个已经可见的窗口部件中添加一个子窗口部件,你必须明显地显示这个孩子来使它可视。
注意Qt的X11版本也许不能在所有的系统上传递风格标记得所有组合。这是因为在X11上,Qt只能询问窗口管理器,并且窗口管理器会覆盖应用程序的设置。在Windows上,Qt可以是指你想要的任何标记。
*splashScreen = new ( 0, "mySplashScreen",
WStyle_Customize | WStyle_NoBorder |
QWidget::~QWidget ()
销毁这个窗口部件。
首先这个窗口部件的孩子都被删除。如果这个窗口部件是主窗口部件,应用程序退出。
bool QWidget::acceptDrops () const
如果对于这个窗口部件放下事件生效,返回真,否则返回假。详细情况请参考属性。
void QWidget::adjustSize () [虚]
调整窗口部件的大小来适合它的内容。
如果()有效(比如,如果大小提示的宽和高都大于等于0)就是用它,否则设置大小为子对象所占用的矩形(所有子窗口部件几何形状的合集)。
也可以参考和。
在中被重新实现。
bool QWidget::autoMask () const
如果对于这个窗口部件自动面具特征生效,返回真,否则返回假。详细情况请参考属性。
const&&& QWidget::backgroundBrush () const
返回这个窗口部件的背景画刷。详细情况请参考属性。
const&&& QWidget::backgroundColor () const
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
作为替代请使用()或()。
QWidget::backgroundMode () const
返回绘制窗口部件的背景所使用的颜色功能。详细情况请参考属性。
QWidget::backgroundOrigin () const
返回窗口部件的背景的原点。详细情况请参考属性。
const&&* QWidget::backgroundPixmap () const
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
作为替代请使用()或者()。
实例:和。
QWidget::baseSize () const
返回窗口部件的继承大小。详细情况请参考属性。
QWidget::caption () const
返回窗口标题。详细情况请参考属性。
&* QWidget::childAt ( int&x, int&y, bool&includeThis = FALSE ) const
返回在窗口部件自己的坐标系统中像素位置(x, y)处的可视的子窗口部件。
如果includeThis为真,并且在(x, y)没有可视的孩子,那么这个窗口部件本身被返回。
&* QWidget::childAt ( const&&&&p, bool&includeThis = FALSE ) const
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
返回在窗口部件自己的坐标系统中点p处的可视的子窗口部件。
如果includeThis为真,并且在p没有可视的孩子,那么这个窗口部件本身被返回。
QWidget::childrenRect () const
返回这个窗口部件的孩子的边界矩形。详细情况请参考属性。
QWidget::childrenRegion () const
返回这个窗口部件的孩子所占用的组合区域。详细情况请参考属性。
void QWidget::clearFocus () [槽]
从窗口部件中拿走键盘输入焦点。
如果这个窗口部件有激活的焦点,被发送给这个窗口部件告诉它关于它失去了焦点。
这个窗口部件必须已经为了获得键盘输入焦点使焦点设置生效,比如,它必须调用()。
也可以参考、()、()、()、和()。
void QWidget::clearMask ()
通过()移除任何面具设置。
也可以参考()。
void QWidget::clearWFlags ( WFlags&f ) [保护]
清空窗口部件标记f。
窗口部件标记是的组合。
也可以参考()、()和()。
bool QWidget::close () [槽]
关闭这个窗口部件。如果窗口部件被关闭,返回真,否则返回假。
首先它发送给这个窗口部件一个。如果它这个关闭事件,它就被。()的默认实现是接收这个关闭事件。
当最后一个可视的顶级窗口部件被关闭,()信号被发射。
实例:和。
bool QWidget::close ( bool&alsoDelete ) [虚]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
关闭这个窗口部件。如果窗口部件被关闭,返回真,否则返回假。
如果alsoDelete为真或者这个窗口部件有窗口部件标记,这个窗口部件也被删除。这个窗口部件自己可以通过抵制它所收到的来防止被关闭。
当最后一个可视的顶级窗口部件被关闭,()信号被发射。
注意关闭()会终止应用程序。
也可以参考()、、()、()、()和()。
void QWidget::closeEvent ( &*&e ) [虚 保护]
这个对于事件e的事件处理器可以在子类中被重新实现来接收窗口部件关闭事件。
默认实现是调用e->accept(),它隐藏这个窗口部件。详细情况请参考文档。
也可以参考()、(), ()和。
实例:、、、和。
const&&& QWidget::colorGroup () const
返回这个窗口部件调色板的当前颜色组。详细情况请参考属性。
void QWidget::constPolish () const [槽]
确认这个窗口部件通过调用()被适当地初始化了。
从像()这样依赖于这个窗口部件被初始化的函数中调用(),并且也可以在()之前被调用。
警告:不要在窗口部件的构造函数中调用constPolish()。
也可以参考()。
void QWidget::contextMenuEvent ( &*&e ) [虚 保护]
这个对于事件e的事件处理器可以在子类中被重新实现来接收窗口部件上下文菜单事件。
默认实现是调用e->accept(),它拒绝这个上下文事件。详细情况请参考文档。
也可以参考()和。
void QWidget::create ( WId&window = 0, bool&initializeWindow = TRUE, bool&destroyOldWindow = TRUE ) [虚 保护]
如果window为零,创一个新的窗口部件窗口,否则设置窗口部件参考为window。
如果initializeWindow为真,初始化窗口(设置几何形状等等)。如果initializeWindow为假,没有初始化被执行。这个参数只有在window是有效窗口时才有效。
如果destroyOldWindow为真,销毁就的窗口。如果destroyOldWindow为假,你有责任自己销毁这个窗口(使用平台本地代码)。
QWidget构造函数调用(0,TRUE,TRUE)来为这个窗口部件创建窗口。
const&&& QWidget::cursor () const
返回这个窗口部件的光标外形。详细情况请参考属性。
bool QWidget::customWhatsThis () const [虚]
如果这个窗口部件想手工地处理这是什么的帮助,返回真,否则返回假。详细情况请参考属性。
void QWidget::destroy ( bool&destroyWindow = TRUE, bool&destroySubWindows = TRUE ) [虚 保护]
释放窗口系统资源。如果destroyWindow为真,销毁这个窗口部件窗口。
对于所有的子窗口部件,()循环地调用自己,传递给destroySubWindows一个destroyWindow参数。为了对子窗口部件地销毁进行控制,首先有选择地销毁子窗口部件。
这个函数通常被QWidget析构函数调用。
void QWidget::dragEnterEvent ( &* ) [虚 保护]
当一个拖动正在进行并且鼠标进入这个窗口部件,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考。
也可以参考、和。
void QWidget::dragLeaveEvent ( &* ) [虚 保护]
当一个拖动正在进行并且鼠标离开这个窗口部件,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考。
也可以参考、和。
void QWidget::dragMoveEvent ( &* ) [虚 保护]
当一个拖动正在进行并且鼠标进入这个窗口部件,并且只要它在这个窗口部件中移动,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考。
也可以参考、和。
void QWidget::drawText ( int&x, int&y, const&&&&str )
在位置(x, y)绘制字符串str。
y位置是文本的基线位置。使用默认字体和默认前景色绘制文本。
这个函数的提供是为了方便。你使用替代它一般将会获得更灵活的结果和更快的速度。
也可以参考、()和()。
void QWidget::drawText ( const&&&&pos, const&&&&str )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
在位置pos绘制字符串str。
void QWidget::dropEvent ( &* ) [虚 保护]
当拖动在这个窗口部件上被放下,这个事件处理器被调用。
对于在你的应用程序中如何提供拖放的概述请参考。
也可以参考、和。
void QWidget::enabledChange ( bool&oldEnabled ) [虚 保护]
这个虚函数被()调用。oldEnabled是以前的设置,你可以从()中得到新的设置。
如果你的窗口部件需要知道什么时候它变为有效或无效,请重新实现这个函数。你将几乎必然要使用()来更新这个窗口部件。
默认实现是重新绘制窗口部件的可见部分。
也可以参考、、()、()和。
void QWidget::enterEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收窗口部件进入事件。
当鼠标光标进入窗口部件,这个事件被发送给窗口部件。
也可以参考()、()和()。
void QWidget::erase ( int&x, int&y, int&w, int&h )
在窗口部件中擦除指定区域(x, y, w, h),并不产生。
如果w为负数,它被width()-x替换。如果h为负数,它被height()-y替换。
子窗口部件不被影响。
也可以参考()。
void QWidget::erase ()
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本擦除整个窗口部件。
void QWidget::erase ( const&&&&r )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
在窗口部件中擦除指定区域r,并不产生。
void QWidget::erase ( const&&&&reg )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
在窗口部件中擦除reg定义的区域,并不产生。
子窗口部件不被影响。
const&&& QWidget::eraseColor () const
返回这个窗口部件的擦除色。
也可以参考()、()和()。
const&&* QWidget::erasePixmap () const
返回这个窗口部件的擦除像素映射。
也可以参考()和()。
bool QWidget::event ( &*&e ) [虚 保护]
这是主事件处理器,它处理事件e。你可以在子类中被重新实现整个函数,但是我们建议你使用一个特定的事件处理器来替代它。
主事件首先把事件传递给所有已经被安装的。如果没有过滤器中途截取这个事件,它调用一个特定的事件处理器。
键按下和释放事件被处理得和其它事件不同。()检查Tab和Shift+Tab并且试图适当地移动焦点。如果没有窗口部件被焦点移入(或者键按下不是Tab或Shift+Tab),event()调用()。
如果它能够把一个事件传递给没个东西,这个函数就返回真,否则如果没有任何东西想要这个事件,返回假。
也可以参考()、()、()、()、()、()、()、()、()、()、 ()、()、()、()、()和()。
从中被重新实现。
&* QWidget::find ( WId&id ) [静态]
返回窗口标识符/句柄为id的窗口部件指针。
窗口标识符类型依赖于底下的窗口系统,实际定义请参考。如果没有具有这样的标识符的窗口部件,0被返回。
&* QWidget::focusData () [保护]
返回这个窗口部件的顶级窗口部件的焦点数据的指针。
焦点数据总是属于顶级窗口部件。焦点数据列表包含这个可以接收焦点的顶级窗口部件中所有的窗口部件,按Tab顺序。一个迭代器指向当前焦点窗口部件(()返回这个窗口部件的指针)。
这个信息对于重新实现更先进版本的()很有用。
void QWidget::focusInEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的事件(焦点进入)。
一个窗口部件通常必须使用()来接收焦点事件,除了NoFocus的。(注意应用程序的程序员可以在任何一个窗口部件中调用(),即使是那些通常不接收焦点的。)
如果它接收了焦点,默认实现是更新这个窗口部件(请参考())。它也调用(),提示任何系统指定的输入工具关于用户注意的焦点。
也可以参考(), 、()、()、()和。
在中被重新实现。
bool QWidget::focusNextPrevChild ( bool&next ) [虚 保护]
找到一个新的窗口部件并且把给它,适用于Tab和Shift+Tab,并且如果它能找到新的窗口部件就返回真,并且如果不能就返回假。
如果next为真,这个函数就“向前”搜索,如果next为假,它就“向后”搜索。
有时,你想重新实现这个函数。例如,一个网页浏览器也许会重新实现它用来向前或向后移动“当前激活链接”,并且只有到达“页面”的最后一个或第一个链接时调用()。
子窗口部件在它们的父窗口部件上调用(),但是只有顶级窗口部件可以重定向焦点。通过重载一个对象中的这个方法,你可以获得能够遍历所有子窗口部件的焦点控制。
也可以参考()。
void QWidget::focusOutEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的事件(焦点丢失)。
一个窗口部件通常必须使用()来接收焦点事件,除了NoFocus的。(注意应用程序的程序员可以在任何一个窗口部件中调用(),即使是那些通常不接收焦点的。)
默认实现是调用(),因为窗口部件的()从激活变为通常,所以这个窗口部件也许需要重新绘制。它也调用(),提示任何系统指定的输入工具关于用户注意的焦点。
也可以参考()、、()、()、()和.
QWidget::focusPolicy () const
返回窗口部件接收键盘焦点的方式。详细情况请参考属性。
&* QWidget::focusProxy () const
返回焦点代理的指针,或者如果没有焦点代理就返回0。
也可以参考()。
&* QWidget::focusWidget () const
返回这个窗口部件窗口中的焦点窗口部件。这个和()是不一样的,后者返回当前激活窗口中的焦点窗口部件。
QWidget::font () const
返回这个窗口部件的字体当前设置。详细情况请参考属性。
void QWidget::fontChange ( const&&&&oldFont ) [虚 保护]
这个虚函数是从()中被调用的。oldFont是以前的字体,你可以通过()获得新的字体。
如果你的窗口部件需要直到什么时候它的字体改变了,就重新实现这个函数。你将几乎毫无疑问的需要使用()更新这个窗口部件。
默认实现是更新包括它的几何形状的窗口部件。
也可以参考、、()和()。
QWidget::fontInfo () const
返回这个窗口部件当前字体的字体信息。等于QFontInto(widget->font())。
也可以参考、()和。
QWidget::fontMetrics () const
返回这个窗口部件的当前字体的字体规格。等于 (widget->font())。
也可以参考、()和。
实例:和。
const&&& QWidget::foregroundColor () const
和()相同。
QWidget::frameGeometry () const
返回相对于它的父对象包含任何窗口框架的窗口部件的几何形状。详细情况请参考属性。
QWidget::frameSize () const
返回包含任何窗口框架的窗口部件的大小。详细情况请参考属性。
const&&& QWidget::geometry () const
返回相对于它的父对象不包括窗口框架的窗口部件的几何形状。详细情况请参考属性。
WFlags QWidget::getWFlags () const [保护]
返回这个窗口部件的窗口部件标记。
窗口部件就是的一个组合。
也可以参考(), ()和()。
void QWidget::grabKeyboard ()
捕获键盘输入。
这个窗口部件接收所有的键盘事件并且其它窗口部件将不会得到直到()被调用。鼠标事件不受影响。如果你想捕获鼠标事件,请使用()。
焦点窗口部件不受影响,除非它不接收任何键盘事件。()像平常那样移动焦点,但是只有在releaseKeyboard()被调用之后,新的焦点窗口部件才能接收键盘事件。
如果一个不同的窗口部件当前正在捕获键盘焦点,那么那个窗口部件的捕获首先被释放。
也可以参考()、()、()和()。
void QWidget::grabMouse ()
捕获鼠标输入。
这个窗口部件接收所有的鼠标事件并且其它窗口部件将不会得到直到()被调用。键盘事件不受影响。如果你想捕获键盘事件,请使用()。
警告:捕获鼠标的应用程序的bug经常会锁定终端。请特别仔细地使用这个函数,并且在调试的时候考虑使用-nograb命令行参数。
在使用Qt的时候,几乎不需要捕获鼠标,因为Qt非常聪明地捕获它、释放它。在特殊情况下,当鼠标按键被按下并且保持这种状态直到最后一个按键被释放时,Qt捕获鼠标。
注意只有可视的窗口部件可以捕获鼠标输入。如果一个窗口部件的()返回假,这个窗口部件不能调用()。
也可以参考()、()、()、()和()。
void QWidget::grabMouse ( const&&&&cursor )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
捕获鼠标输入并且改变光标形状。
光标将被赋值为形状cursor(只要在鼠标焦点被捕获)并且这个窗口部件将变为唯一接收鼠标事件的窗口部件直到()被调用。
警告:不过鼠标也许会锁定终端。
也可以参考()、()、()和。
bool QWidget::hasFocus () const
如果这个窗口部件(或者它的焦点代理)拥有键盘输入焦点,返回真,否则返回假。详细情况请参考属性。
bool QWidget::hasMouse () const
如果窗口部件在鼠标光标之下,返回真,否则返回假。详细情况请参考属性。
bool QWidget::hasMouseTracking () const
如果这个窗口部件中鼠标跟踪生效,返回真,否则返回假。详细情况请参考属性。
int QWidget::height () const
返回不包括窗口框架的窗口部件的高度。详细情况请参考属性。
int QWidget::heightForWidth ( int&w ) const [虚]
返回对于给定宽度w这个窗口部件的最佳高度。默认实现是返回0,表明最佳高度不依赖于宽度。
警告:不要考虑窗口部件的布局。
在和中被重新实现。
void QWidget::hide () [虚 槽]
隐藏窗口部件。
你几乎不需要重新实现这个函数。如果你需要在一个窗口部件被隐藏之后做些什么,请使用()替代。
也可以参考()、、()、()、和()。
实例:、、、 、和。
在中被重新实现。
void QWidget::hideEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件隐藏事件。
在窗口部件被隐藏之后,隐藏事件被立即发送给窗口部件。
也可以参考()和。
在中被重新实现。
const&&* QWidget::icon () const
返回窗口部件图标像素映射。详细情况请参考属性。
QWidget::iconText () const
返回窗口部件图标文本。详细情况请参考属性。
void QWidget::iconify () [槽]
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
void QWidget::imComposeEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考文档。
也可以参考()和。
void QWidget::imEndEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户已经完成通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考文档。
也可以参考()和。
void QWidget::imStartEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收输入法写作事件。当用户开始通过输入法输入某些文本时,这个处理器将被调用。
默认实现是调用e->ignore(),它拒绝输入法事件。详细情况请参考文档。
也可以参考()和。
bool QWidget::isActiveWindow () const
如果这个窗口部件是激活窗口或者它的一个孩子,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isDesktop () const
如果这个窗口部件是一个桌面窗口部件,比如,它代表着桌面,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isDialog () const
如果这个窗口部件是一个对话框窗口部件,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isEnabled () const
如果这个窗口部件是生效的,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isEnabledTo ( &*&ancestor ) const
如果ancestor生效,这个窗口部件能够变为生效的,返回真,否则返回假。
如果这个窗口部件自身或者它的每一个祖先,但是除了ancestor以外,已经被明确地指定为失效的时候,才是这样的情况。
(0)等于()。
也可以参考和。
bool QWidget::isEnabledToTLW () const
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数是被反对的。它等于()。
bool QWidget::isFocusEnabled () const
如果这个窗口部件接收键盘焦点,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isHidden () const
如果这个窗口部件被明确地隐藏,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isMaximized () const
如果窗口部件是被最大化的顶级窗口部件,返回真,否则返回假。
注意因为一些窗口系统的一些限制,这样做并不是总能得到所期望的结果(比如,如果在X11上的用户通过窗口管理器最大化这个窗口,Qt并不能把它与其它重定义大小区分开)。这有待于窗口管理器协议的进一步改进。
也可以参考()。
bool QWidget::isMinimized () const
如果这个窗口部件最小化(变为图标了),返回真,否则返回假。详细情况请参考属性。
bool QWidget::isModal () const
如果这个窗口部件是模式窗口部件,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isPopup () const
如果这个窗口部件是弹出窗口部件,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isTopLevel () const
如果这个窗口部件是顶级窗口部件,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isUpdatesEnabled () const
如果更新是生效的,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isVisible () const
如果这个窗口部件是可视的,返回真,否则返回假。详细情况请参考属性。
bool QWidget::isVisibleTo ( &*&ancestor ) const
如果ancestor被显示,这个窗口部件可以变为可视,返回真,否则返回假。
如果这个窗口部件自身或者它的每一个祖先,但是除了ancestor以外,已经被明确地指定为隐藏的时候,才是这样的情况。
如果这个窗口部件被屏幕上其它窗口弄得变暗,这个函数仍会返回真,但是如果它或者它们被移动了,它将被变为物理可视的。
(0)和()很相似,除了它变为图标的情况或者这个窗口存在与其它虚拟桌面的情况。
也可以参考()、()和。
bool QWidget::isVisibleToTLW () const
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数是被反对的。它等于()。
void QWidget::keyPressEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的键盘按下事件。
窗口部件最初必须调用()来接收焦点并且用来接收键盘释放事件。
如果你重新实现这个处理器,如果你不能理解这个事件,你就这个事件,这是很重要的,这样这个窗口部件的父对象就可以说明它。
默认实现是如果用户按下Esc就关闭弹出窗口部件。否则这个事件就被忽略。
也可以参考()、()、, ()、()、()和。
在、和中被重新实现。
void QWidget::keyReleaseEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现用来接收这个窗口部件的键盘释放事件。
窗口部件最初必须调用()来接收焦点并且用来接收键盘释放事件。
如果你重新实现这个处理器,如果你不能理解这个事件,你就这个事件,这是很重要的,这样这个窗口部件的父对象就可以说明它。
默认实现就是忽略这个事件。
也可以参考()、()、、()、()、()和。
&* QWidget::keyboardGrabber () [静态]
返回当前正在捕获键盘输入的窗口部件的指针。
如果在这个应用程序中当前没有正在捕获键盘的窗口部件,0被返回。
也可以参考()和()。
&* QWidget::layout () const
返回管理窗口部件孩子的几何形状的布局引擎的指针。
如果这个窗口部件没有布局,()返回一个零指针。
也可以参考。
实例:和。
void QWidget::leaveEvent ( &* ) [虚 保护]
这个事件管理器可以在子类中被重新实现来接收窗口部件离开事件。
当鼠标光标离开这个窗口部件时,离开事件被发送给这个窗口部件。
也可以参考()、()和()。
void QWidget::lower () [槽]
把这个窗口部件降低到它的父窗口部件的栈的底部。
如果在屏幕上有与这个窗口部件重叠的兄弟,这个窗口部件将被它后来的这些兄弟变暗。
也可以参考()和()。
bool QWidget::macEvent ( MSG * ) [虚 保护]
这个特定的事件处理器可以在子类中被重新实现用来接收本地Macintosh事件。
在你重新实现的这个函数中,如果你想停止Qt对这个事件的处理,返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转换为一个Qt事件并且把它发送给这个窗口部件。
警告:这个函数是不可以移植的。
也可以参考()。
QWidget::mapFrom ( &*&parent, const&&&&pos ) const
把parent的坐标系统中的这个窗口部件的坐标pos转换到这个窗口部件的坐标系统中。parent必须不能为0并且必须是这个调用窗口部件的父对象。
也可以参考()、()、()和。
QWidget::mapFromGlobal ( const&&&&pos ) const
把全局屏幕坐标pos转换为窗口部件坐标。
也可以参考()、()和()。
QWidget::mapFromParent ( const&&&&pos ) const
把父窗口部件坐标pos转换为窗口部件坐标。
如果窗口部件没有父对象,就和()一样。
也可以参考()、()、()和。
QWidget::mapTo ( &*&parent, const&&&&pos ) const
把窗口部件坐标pos转换到parent坐标系统。parent必须不能为0并且必须是这个调用窗口部件的父对象。
也可以参考()、()、()和。
QWidget::mapToGlobal ( const&&&&pos ) const
把窗口部件坐标pos转换为全局屏幕坐标。例如,mapToGlobal(QPoint(0,0))将会给出这个窗口部件的左上角像素的全局坐标。
也可以参考()、()和()。
QWidget::mapToParent ( const&&&&pos ) const
把窗口部件坐标pos转换为父窗口部件中的一个坐标。
如果窗口部件没有父对象,就和()一样。
也可以参考()、()、()和。
int QWidget::maximumHeight () const
返回这个窗口部件的最大高度。详细情况请参考属性。
QWidget::maximumSize () const
返回这个窗口部件的最大大小。详细情况请参考属性。
int QWidget::maximumWidth () const
返回这个窗口部件的最大宽度。详细情况请参考属性。
int QWidget::metric ( int&m ) const [虚 保护]
虚函数QPaintDevice::metric()的内部实现。
使用来替代它。
m是要获得的规格。
QWidget::microFocusHint () const
返回这个窗口部件的当前设置的微焦点提示的当前设置。详细情况请参考属性。
int QWidget::minimumHeight () const
返回这个窗口部件的最小高度。详细情况请参考属性。
QWidget::minimumSize () const
返回这个窗口部件的最小大小。详细情况请参考属性。
QWidget::minimumSizeHint () const [虚]
返回这个窗口部件的建议最小大小。详细情况请参考属性。
在和中被重新实现。
int QWidget::minimumWidth () const
返回这个窗口部件的最小宽度。详细情况请参考属性。
void QWidget::mouseDoubleClickEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件的鼠标双击事件。
默认实现产生一个普通的鼠标点击事件。
注意在窗口部件得到()之前,它得到一个()和一个()。
也可以参考()、()、 ()、()和。
&* QWidget::mouseGrabber () [静态]
返回当前捕获鼠标输入的窗口部件的指针。
如果这个应用程序中当前没有捕获鼠标的窗口部件,0被返回。
也可以参考()和()。
void QWidget::mouseMoveEvent ( &*&e ) [虚 保护]
这个窗口部件可以在子类中被重新实现来接收这个窗口部件中的鼠标移动事件。
如果鼠标跟踪被切换为关闭,只有在鼠标被按下后移动的情况下,才会发生鼠标移动事件。如果鼠标跟踪被切换为开,即使鼠标没有被按下,只要移动就会发生鼠标移动事件。
()报告鼠标光标相对于这个窗口部件的位置。对于按下和释放事件,这个位置通常和最后一次鼠标移动事件的位置相同,但是如果鼠标非常快地移动和按下,这也许是不同的。这依赖于底层的窗口系统,而不是Qt。
也可以参考、()、 ()、()、()和。
实例:、、、、、和。
在中被重新实现。
void QWidget::mousePressEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收这个窗口部件中的鼠标按下事件。
如果你在()中创建新的窗口部件,()也许不会像你所期待的那样结束,这依赖于底层的窗口系统(或X11窗口管理器)、这个窗口部件的位置并且也许更多。
当你再窗口外点击时,默认实现是关闭弹出窗口。对于其它窗口部件类型,它什么都不做。
也可以参考()、()、()、()和。
实例:、、, , 、和。
在中被重新实现。
void QWidget::mouseReleaseEvent ( &*&e ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收鼠标释放事件。
也可以参考()、()、()和。
实例:、、、、、和。
void QWidget::move ( const&&& ) [槽]
设置窗口部件在它的父窗口部件中的位置。详细情况请参考属性。
void QWidget::move ( int&x, int&y ) [虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个和( (x, y) )一致。
void QWidget::moveEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件移动事件。当窗口部件接收到这个事件时,它已经在新的位置上了。
旧的位置可以通过()来访问。
也可以参考()、()、和。
bool QWidget::ownCursor () const
如果这个窗口部件使用它自己的光标,返回真,否则返回假。详细情况请参考属性。
bool QWidget::ownFont () const
如果这个窗口部件使用它自己的字体,返回真,否则返回假。详细情况请参考属性。
bool QWidget::ownPalette () const
如果这个窗口部件使用它自己的调色板,返回真,否则返回假。详细情况请参考属性。
void QWidget::paintEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收绘制事件。
绘制事件就是重新绘制这个窗口部件的所有部分的一个请求。它可以是()或()的结果,或者因为这个窗口部件原来被变暗并且现在已经不再被覆盖了,或者其它很多原因。
很多窗口部件在当它们被请求时,它们很简单地重新绘制整个界面,但是一些比较慢的窗口部件需要通过仅仅绘制被请求的区域()进行优化。这个速度优化不会改变结果,在事件处理过程中,绘制仅仅发生在被改变的区域中。例如,和就是这样做的。
Qt也试图通过把多个绘制事件合并为一个来加快绘制速度。当update()被调用几次或者窗口系统发送几次绘制事件,Qt把它们合并为一个比较大区域(请参考())的一个事件中。repaint()不允许这样优化,所以只要可能我们建议使用update()。
当绘制事件发生,更新区域通常被擦除,所以你正在这个窗口部件的背景上绘制。这里有一些例外并且()告诉你这个窗口部件是否被擦除。
背景可以通过使用()、()或()来设置。setBackgroundMode()的文档详细描述了背景,我们建议你去读一下。
也可以参考()、()、()、、和。
实例:、、、、、和。
在、、、、和中被重新实现。
const&&& QWidget::palette () const
返回这个窗口部件的调色板。详细情况请参考属性。
const&&& QWidget::paletteBackgroundColor () const
返回这个窗口部件的背景色。详细情况请参考属性。
const&&* QWidget::paletteBackgroundPixmap () const
返回这个窗口部件的背景像素映射。详细情况请参考属性。
void QWidget::paletteChange ( const&&&&oldPalette ) [虚 保护]
这个虚函数是从()中被调用的。oldPalette是原来的调色板,你可以通过()得到新的调色板。
如果你的窗口部件需要知道什么时候调色板发生变化了,请重新实现这个函数。
也可以参考和。
const&&& QWidget::paletteForegroundColor () const
返回这个窗口部件的前景色。详细情况请参考属性。
&* QWidget::parentWidget ( bool&sameWindow = FALSE ) const
返回这个窗口部件的父窗口部件的指针,如果它没有,就返回零指针。如果sameWindow为真并且这个窗口部件是顶级的,就返回0,否则返回它的父窗口部件。
void QWidget::polish () [虚 槽]
延时窗口部件的初始化。
这个函数将在窗口部件完全创建完毕之后并且在它每一次被显示之前被调用。
抛光对于依赖一个特定窗口部件的最终初始化是很有用的。有一些事情构造函数不能够决定,因为子类的初始化也许没有完成。
在这个函数之后,窗口部件就有一个适当的字体和调色板并且()已经被调用。
当重新实现这个函数的时候,记得调用QWidget的实现。
也可以参考()和()。
QWidget::pos () const
返回这个窗口部件在它父窗口部件中的位置。详细情况请参考属性。
bool QWidget::qwsEvent ( QWSEvent * ) [虚 保护]
这个特定的事件处理器可以在子类中被重新实现来接收本地的Qt/Embedded事件。
在你重新实现的这个函数中,如果你想停止Qt对这个事件的处理,返回真。如果你返回假,这个本地事件被回传给Qt,它会把这个事件转换为一个Qt事件并且把它发送给这个窗口部件。
警告:这个函数是不可以移植的。
也可以参考()。
void QWidget::raise () [槽]
把这个窗口部件升高到它的父窗口部件的栈的顶部。
如果在屏幕上有与这个窗口部件重叠的兄弟,这个窗口部件将在它后来的这些兄弟之前变的可视了。
也可以参考()和()。
void QWidget::recreate ( &*&parent, WFlags&f, const&&&&p, bool&showIt = FALSE )
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数的提供是为了从Qt 1.0移植到2.0。在Qt 2.0中它已经被重新命名为()。
QWidget::rect () const
返回不包含任何窗口框架的窗口部件的内部几何形状。详细情况请参考属性。
void QWidget::releaseKeyboard ()
释放键盘捕获。
也可以参考()、()和()。
void QWidget::releaseMouse ()
释放鼠标捕获。
也可以参考()、()和()。
void QWidget::repaint ( int&x, int&y, int&w, int&h, bool&erase = TRUE ) [槽]
通过立即调用()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,Qt在paintEvent()调用之前擦除区域(x,y,w,h)。
如果w是负数,它被width()-x替换,并且如果h是负数,它被height()-y替换。
如果你需要立即重新绘制,我们建议使用(),比如在动画期间。在绝大多数情况下,()更好,因为它允许Qt来优化速度并且防止闪烁。
警告:如果你在一个函数中调用repaint(),而它自己又被paintEvent()调用,你也许会看到无线循环。update()函数从来不会产生循环。
也可以参考()、()、和()。
void QWidget::repaint () [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本擦除并且重新绘制整个窗口部件。
void QWidget::repaint ( bool&erase ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本重新绘制整个窗口部件。
void QWidget::repaint ( const&&&&r, bool&erase = TRUE ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,擦除窗口部件区域r。
void QWidget::repaint ( const&&&&reg, bool&erase = TRUE ) [槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
通过立即调用()来直接重新绘制窗口部件,除非更新是失效的或者窗口部件被隐藏。
如果erase为真,擦除窗口部件区域reg。
如果你需要立即重新绘制,我们建议使用(),比如在动画期间。一连串的多次调用update()将产生一个单一的绘制事件。
警告:如果你在一个函数中调用repaint(),而它自己又被paintEvent()调用,你也许会看到无线循环。update()函数从来不会产生循环。
也可以参考()、()、和()。
void QWidget::reparent ( &*&parent, WFlags&f, const&&&&p, bool&showIt = FALSE ) [虚]
重新定义这个窗口部件的父对象。这个窗口部件得到新的parent,新的窗口部件标记(f,但通常使用0)和在新的父对象中的新位置(p)。
如果showIt为真,一旦窗口部件被重新定义父对象,()就被调用。
如果新的父窗口部件在一个不同的顶级窗口部件中,被重新定义父对象的窗口部件和它的孩子们将被添加到新窗口部件的的最后。如果被移动的窗口部件之一拥有,()为这个窗口部件调用()。
如果新的父窗口部件和原来的父对象在同一个顶级窗口部件中,reparent()不会改变tab顺序或者键盘焦点。
警告:你对这个函数的需要是绝对不必要的。如果你有一个窗口部件动态的改变它的内容,使用或会更容易的多。
也可以参考()。
void QWidget::reparent ( &*&parent, const&&&&p, bool&showIt = FALSE )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
一个方便的重新定义这个窗口部件的父对象的版本没有把窗口部件标记作为参数。
调用(parent, () & ~, p, showIt)。
void QWidget::resetInputContext () [保护]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。比如,改变焦点到另一个窗口部件,移动光标,等等。
void QWidget::resize ( const&&& ) [槽]
设置不包含任何窗口框架的窗口部件的大小。详细情况请参考属性。
void QWidget::resize ( int&w, int&h ) [虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个和( (w, h) )一致。
void QWidget::resizeEvent ( &* ) [虚 保护]
这个事件处理器可以在子类中被重新实现来接收窗口部件重定义大小事件。当()被调用时,这个窗口部件已经有了新的几何形状。原来的大小可以通过()访问。
这个窗口部件竟被擦除并且在处理重定义大小事件之后立即接收到一个绘制事件。在这个处理器中不需要(或者必须)绘制。
由创建的窗口部件将不会被擦除。不过,它们也将收到一个对于整个区域的绘制事件。再一次的,在这个处理器中不需要(或者必须)绘制。
如果窗口部件的生效,默认实现调用()。
也可以参考()、()、、和()。
实例:、、 、、、和。
在和中被重新实现。
void QWidget::scroll ( int&dx, int&dy )
卷动包括它的孩子的窗口部件,向右dx像素并且向下dy像素。dx和dy都可以为负。
在卷动后,()发送绘制事件,只为了读的部分,但不写。例如,当向右卷动10像素,窗口部件的最左面10像素需要重新绘制。绘制事件也许立即或者稍后被交付,依赖于一些启发式。
也可以参考、()和()。
void QWidget::scroll ( int&dx, int&dy, const&&&&r )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个版本仅卷动r并且不移动窗口部件的孩子。
如果r为空或者无效,结果是未定义的。
也可以参考、()和()。
void QWidget::setAcceptDrops ( bool&on ) [虚]
设置对于这个窗口部件放下事件是否生效为on。详细情况请参考属性。
void QWidget::setActiveWindow () [虚]
设置包含这个窗口部件的顶级窗口部件为激活窗口。
激活窗口就是拥有键盘输入焦点的可视的顶级窗口。
这个函数执行的操作和在一个顶级窗口的标题栏点击鼠标是一样的。在X11上,结果依赖于窗口管理器。如果你想确认窗口也被堆在顶部,请另外调用()。注意这个窗口已经被变为可视,除非()没有效果。
在Windows上,如果当应用程序不是当前激活的应用程序,如果你调用这个函数,然后它不会使它变为激活窗口。它将会在标题栏条目上闪烁蓝色标明这个窗口已经做了些什么。这是由于Microsoft不允许一个应用程序打断用户当前在另一个应用程序上所做的事情。
也可以参考、()和()。
在中被重新实现。
void QWidget::setAutoMask ( bool ) [虚]
设置这个窗口部件自动面具特征是否生效。详细情况请参考属性。
void QWidget::setBackgroundColor ( const&&&&c ) [虚]
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。使用()或()替代它。
实例:、、、和。
void QWidget::setBackgroundMode (
设置绘制窗口部件背景所使用的颜色模式。详细情况请参考属性。
void QWidget::setBackgroundMode ( &m, &visual )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置这个窗口部件自己的背景模式为m并且可视背景模式为visual。可视背景模式和可设计的属性backgroundColor、foregroundColor和backgroundPixmap一起使用。
对于复杂的控制,合理的背景模式有时和窗口部件自己的背景模式不同。例如,微调框把作为背景模式(通常是暗灰色),当它被嵌入到行编辑控件中使用(通常是白色)。因为行编辑控件覆盖微调框的绝大部分可视区域,它定义了为它的可视背景模式。改变backgroundColor属性会改变行编辑控件的背景,这正是用户在Qt设计器中所期待的。
void QWidget::setBackgroundOrigin (
设置这个窗口部件背景的原点。详细情况请参考属性。
void QWidget::setBackgroundPixmap ( const&&&&pm ) [虚]
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。使用()或()替代它。
void QWidget::setBaseSize ( const&&& )
设置这个窗口部件的基础大小。详细情况请参考属性。
void QWidget::setBaseSize ( int&basew, int&baseh )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这个和( (basew, baseh) )一致。设置窗口部件基础大小的宽为basew,高为baseh。
void QWidget::setCaption ( const&&& ) [虚 槽]
设置窗口标题。详细情况请参考属性。
void QWidget::setCursor ( const&&& ) [虚]
设置这个窗口部件的光标形状。详细情况请参考属性。
void QWidget::setDisabled ( bool&disable ) [槽]
如果disable为真,使窗口部件输入事件失效,否则使输入事件生效。
更多信息请参考文档。
也可以参考()、、和()。
void QWidget::setEnabled ( bool ) [虚 槽]
设置这个窗口部件是否生效。详细情况请参考属性。
void QWidget::setEraseColor ( const&&&&color ) [虚]
设置这个窗口部件的擦除颜色为color。
擦除颜色就是在()被调用之前这个窗口部件被清空的颜色。如果有擦除像素映射(使用()设置),然后这个属性就会有不确定的值。
也可以参考()、()、和。
void QWidget::setErasePixmap ( const&&&&pixmap ) [虚]
设置这个窗口部件的擦除像素映射为pixmap。
这个像素映射就是在()被调用之前用来清空这个窗口部件的。
void QWidget::setFixedHeight ( int&h )
设置这个窗口部件的最小高度和最大高度都为h,而不改变宽度。为了方便而提供。
也可以参考、、和()。
实例:、、和。
void QWidget::setFixedSize ( const&&&&s )
设置这个窗口部件的最小大小和最大大小都为s,这样就可以防止它变大或者变小。
也可以参考和。
void QWidget::setFixedSize ( int&w, int&h )
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
设置窗口部件的宽度为w,高度为h。
void QWidget::setFixedWidth ( int&w )
设置这个窗口部件的最小宽度和最大宽度都为h,而不改变高度。为了方便而提供。
也可以参考、、和()。
实例:、和。
void QWidget::setFocus () [虚 槽]
把键盘输入焦点给这个窗口部件(或者它的焦点代理)。
首先,一个焦点移出事件会被发送给焦点窗口部件(如果有的话)告诉它关于失去焦点的事情。然后一个焦点进入事件被发送给这个窗口部件告诉它刚刚接收到焦点。(如果焦点移出和进入的窗口部件是同一个的话,就什么都没有发生。)
()会把焦点给一个窗口部件,而不管它的焦点策略,但是不会清空任何键盘捕获(请参考())。
请注意如果窗口部件是被隐藏的,它将不接收焦点。
警告:如果你在一个函数中调用setFocus(),而这个函数自己被()或()调用,你也许会体验到无限循环。
也可以参考、()、()、()、、()、()和()。
实例:、、、、、和。
void QWidget::setFocusPolicy (
设置这个窗口部件接收键盘焦点的方式。详细情况请参考属性。
void QWidget::setFocusProxy ( &*&w ) [虚]
设置这个窗口部件的焦点代理为窗口部件w。如果w为0,这个函数重置这个窗口部件没有焦点代理。
一些窗口部件,比如,能够“拥有焦点”,但创建一个子窗口部件来实际处理这个焦点。例如,QComboBox创建了一个来处理焦点。
当“这个窗口部件”获得焦点时,()设置这个窗口部件实际获得焦点。如果有了一个焦点代理,()、()、()和()都在这个焦点代理上操作。
也可以参考()。
void QWidget::setFont ( const&&& ) [虚]
设置这个窗口部件的字体当前设置。详细情况请参考属性。
在、和中被重新实现。
void QWidget::setFont ( const&&&&f, bool )
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
使用(const & font)替代它。
void QWidget::setGeometry ( const&&& ) [虚 槽]
设置相对于它的父对象不包括窗口框架的窗口部件的几何形状。详细情况请参考属性。
void QWidget::setGeometry ( int&x, int&y, int&w, int&h ) [虚 槽]
这是一个重载成员函数,提供了方便。它的行为基本上和上面的函数相同。
这相当于( (x, y, w, h) )。
void QWidget::setIcon ( const&&& ) [虚 槽]
设置这个窗口部件图标像素映射。详细情况请参考属性。
void QWidget::setIconText ( const&&& ) [虚 槽]
设置这个窗口部件图标文本。详细情况请参考属性。
void QWidget::setKeyCompression ( bool&compress ) [虚 保护]
如果compress为真,使键盘事件压缩生效,并且如果compress为假,使键盘事件压缩失效。
默认情况下,键盘压缩是关闭的,所以窗口部件}

我要回帖

更多关于 卡西欧运动手表调时间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信